Sự khác biệt giữa node.js và node là gì?


103

Tôi đã cài đặt node.js trong máy của mình (linux mint 15), khi tôi chạy node example.js, nó báo:

The program 'node' can be found in the following packages:
 * node
 * nodejs-legacy
Try: sudo apt-get install <selected package>

Vậy sự khác biệt giữa node và nodejs là gì? Tôi đã cài đặt cả node.js và node trước đó, nhưng khi tôi chạy node example.js, máy chủ web hoàn toàn không khởi động. Vì vậy, tôi đã xóa nút và giữ lại node.js.


Câu trả lời:


151

Nút gói không liên quan đến node.js.

nodejslà những gì bạn muốn, tuy nhiên được cho là tốt hơn nếu lệnh được gọi là nút để tương thích với các tập lệnh sử dụng #!/usr/bin/env node.

Bạn có thể chỉ cần tạo một liên kết tượng trưng trong đường dẫn của mình:

sudo ln -s `which nodejs` /usr/local/bin/node

Hoặc bạn có thể cài đặt nvm và sau đó sử dụng nó để cài đặt phiên bản mới nhất của node.js:

nvm install stable

Tôi thích phương pháp nvm hơn, vì nó cho phép bạn sudo apt-get remove nodejsvà sau đó tự quản lý phiên bản nút nào bạn đang sử dụng. Bạn cũng có thể cài đặt và sử dụng nhiều phiên bản node.js nvm use <version>để dễ dàng chuyển đổi giữa chúng.

Tôi cũng như để thêm một dòng xuống dưới My .bashrcthích: nvm use stable > /dev/null. Điều đó sẽ tự động sử dụng phiên bản mới nhất mà bạn đã cài đặt.

Để cập nhật phiên bản nút của bạn vào ổn định mới nhất: nvm install stable. Mỗi khi bạn làm điều này, bạn sẽ cần phải cài đặt bất kỳ gói npm nào mà bạn đã cài đặt trên toàn cầu nếu bạn muốn tiếp tục sử dụng chúng.

Để chuyển sang một phiên bản cũ chỉ cần chạy nvm use <version>, hoặc, nếu bạn không có phiên bản cũ cài đặt sẵn: nvm install <version>.


28
trên thực tế, nodejs-legacygói chỉ chứa liên kết biểu tượng (xem thêm list.debian.org/debian-devel-anosystem/2012/07/msg00002.html ).
vào

1
Rất hữu ích và tiện dụng là gói nvm .
Akshay Pratap Singh

Trong thế giới JS, mọi người tiếp tục gọi nút; trong trường hợp đó nó có tham chiếu đến node.js không?
vikramvi 19/07/19

1
@vikramvi Có, khi bạn ở đây, mọi người nói về nút có thể họ đang đề cập đến node.js; nút đó hoặc nút DOM trong trình duyệt
Paul

25

Câu trả lời này chỉ để cho bạn biết sự khác biệt giữa nodenodejscác gói trên hệ điều hành Debian.

node

nodejs

  • Node.js là một nền tảng được xây dựng dựa trên thời gian chạy JavaScript của Chrome để dễ dàng xây dựng các ứng dụng mạng nhanh, có thể mở rộng. Node.js sử dụng I/Omô hình hướng sự kiện, không chặn , giúp nó nhẹ và hiệu quả, hoàn hảo cho các ứng dụng thời gian thực sử dụng nhiều dữ liệu chạy trên các thiết bị phân tán.
  • Liên kết chi tiết gói:

9
Câu trả lời giải thích sự khác biệt thực tế giữa nodenodejs.
Bono

1
Làm thế nào tôi sẽ hiểu sự khác biệt giữa hai trong ngôn ngữ của giáo dân?
stable_daddy

1
@steady_daddy Hai gói không liên quan đến nhau, vì vậy câu trả lời đơn giản là hai gói không liên quan. nodejs là một khuôn khổ máy chủ hướng javascript hiện đại thường được sử dụng để cung cấp các dịch vụ khác nhau và các ứng dụng thời gian thực, trong khi node là một khuôn khổ cũ hơn để truyền các gói dữ liệu qua radio nghiệp dư. Hầu hết các cài đặt đều liên kết biểu tượng lệnh shell "node" với "nodejs" nhị phân và điều này thường an toàn để thực hiện vì hầu như không ai sử dụng nodejs sẽ gặp xung đột với "node".
EddieOffermann
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.