Tôi đã tìm kiếm trang mô-đun wiki, nhưng tôi không thể tìm thấy bất cứ thứ gì tương tự như virtualenv (python) hoặc rvm.
Bất cứ ai ở đây phân tách node.js trong env của riêng họ? Tôi thực sự không thích cài đặt hệ thống npm.
Tôi đã tìm kiếm trang mô-đun wiki, nhưng tôi không thể tìm thấy bất cứ thứ gì tương tự như virtualenv (python) hoặc rvm.
Bất cứ ai ở đây phân tách node.js trong env của riêng họ? Tôi thực sự không thích cài đặt hệ thống npm.
Câu trả lời:
Nếu có các gói npm toàn hệ thống là vấn đề chính của bạn, thì có thể xem xét sử dụng lệnh 'gói' rất tuyệt vời với npm. Điều này gần với đá quý đóng băng hoặc sử dụng bộ đóng gói trong đường ray, thay vì rvm.
Nó siêu dễ. Chỉ cần tạo tệp pack.json:
{ "name": "yourapp", "version": "0.0.1", "dependencies": {"jade": "0.4.1"}}
và sau đó chạy:
npm bundle vendor
hoặc nếu phiên bản npm của bạn là> = 1.0 chạy:
npm install
để đóng băng vào thư mục nhà cung cấp. và sau đó sử dụng:
require.paths.unshift('./vendor');
npm install
Thay thế npm bundle
như NPM 1.0, tôi tin.
nodeenv - môi trường ảo cho node.js (Analog virtualenv )
node.js
môi trường được kích hoạt cùng với môi trường Python. Xem nodeenv -p
.
Ngoài ra còn có một số hệ thống quản lý phiên bản Node có thể giúp đỡ.
Hãy xem https://aveithub.com/isaacs/nave
NVM cũng có thể được sử dụng https://github.com/creationix/nvm
Ngoài ra còn có một cái gọi là n https://github.com/visionmedia/n
nvm
hoặc n
muốn tự động chuyển đổi khi bạn thay đổi thư mục, hãy xem avn
: github.com/wbyoung/avn
Câu trả lời của bxjx là chính xác về mặt khái niệm. Tuy nhiên, xin lưu ý rằng lệnh bundle không còn có một thư mục. Nó luôn thả các gói vào node_modules
thư mục, để npm biết nơi tìm chúng sau này (và có thể tránh phụ thuộc cài đặt kép).
Bất kỳ giải pháp nào cũng có thể liên quan đến việc cài đặt npm và nave "toàn hệ thống" (nghĩa là trong của bạn PATH
, có thể ở ~
đâu đó), nhưng sau đó chỉ cài đặt các phụ thuộc cụ thể của bạn trong môi trường ảo.
Tôi đã trả lời kỹ hơn về vấn đề github .
tl; dr: Trường hợp sử dụng là hợp lệ và hữu ích, và trong khi nó chủ yếu ở đó, nó không được phục vụ tốt như nó có thể. Chúng ta nên đảm bảo suy nghĩ kỹ và thực hiện đúng.
Bạn không cần phải luôn luôn cài đặt các phụ thuộc trên toàn cầu. Thông thường, nó được khuyến nghị bởi vì sau đó bạn có thể sử dụng các lệnh mà gói npm cung cấp, nhưng nếu bạn cài đặt nó cục bộ (trong node_modules
thư mục), bạn cũng có thể sử dụng các lệnh này, chúng chỉ xuất hiện trong node_modules/.bin/
thư mục, vì vậy bạn sẽ phải gõ node_modules/.bin/<command>
, Điều này gây phiền nhiễu, nhưng tất nhiên bạn có thể thêm đường dẫn này vào PATH
biến môi trường của mình :
export PATH=node_modules/.bin:$PATH
Sau đó, bạn có thể chỉ cần gõ <command>
và nó hoạt động!
Thực sự có một lệnh npm trả về một đường dẫn tuyệt đối đến .bin
thư mục:
$ npm bin
/path/to/node_modules/.bin
Lệnh này cũng hoạt động khi bạn ở trong thư mục con của dự án, nó sẽ trả về node_modules/.bin
thư mục đầu tiên mà nó tìm thấy trong các thư mục mẹ của nó.
Bạn có thể thêm bí danh này vào .bashrc
để tự động thêm .bin/
thư mục vào PATH
:
alias nodebin='export PATH=$(npm bin):$PATH'
Vì vậy, khi bạn đang ở trong một thư mục của một dự án có một node_modules/
thư mục trong thư mục gốc, bạn có thể nhập nodebin
và sau đó bạn có thể sử dụng tất cả các lệnh trong .bin/
thư mục!
có vẻ là một cách tốt hơn:
Cài đặt Node.js và npm vào Python Virtualenv
bây giờ tôi có thể sử dụng các công cụ nút mà không làm rối môi trường bin toàn cầu
Nếu bạn thích nó đơn giản, tôi thật sự khuyên visionmedia của n , không thể được dễ dàng hơn!
npm install
cho việc này.