Làm cách nào để cài đặt mô-đun trên toàn cầu bằng npm?


202

Gần đây tôi đã cài đặt mô-đun Node.js và npm trên OSX và gặp sự cố với các cài đặt tôi nghĩ:

npm install [MODULE] is not installing the node.js module to the default path 
which is /usr/local/lib/node_modules.

Câu trả lời:


347

Nếu bạn muốn cài đặt một mô-đun npm trên toàn cầu, hãy đảm bảo sử dụng -gcờ mới , ví dụ:

npm install forever -g

Các khuyến nghị chung liên quan đến cài đặt mô-đun npm kể từ 1.0rc (lấy từ blog.nodejs.org ):

  • Nếu bạn đang cài đặt một cái gì đó mà bạn muốn sử dụng trong chương trình của mình, sử dụng yêu cầu ('bất cứ điều gì'), sau đó cài đặt nó cục bộ , tại thư mục gốc của dự án của bạn.
  • Nếu bạn đang cài đặt một cái gì đó mà bạn muốn sử dụng trong trình bao của mình, trên dòng lệnh hoặc thứ gì đó, hãy cài đặt nó trên toàn cầu , để các nhị phân của nó kết thúc trong biến môi trường PATH của bạn.

Tôi mới sử dụng khuyến nghị này và nó đã đi xuống khá suôn sẻ. Tôi đã cài đặt mãi mãi trên toàn cầu (vì nó là một công cụ dòng lệnh) và tất cả các mô-đun ứng dụng của tôi cục bộ.

Tuy nhiên, nếu bạn muốn sử dụng một số mô-đun trên toàn cầu (ví dụ: express hoặc mongodb), hãy thực hiện lời khuyên này (cũng được lấy từ blog.nodejs.org ):

Tất nhiên, có một số trường hợp bạn muốn làm cả hai. Coffee-script và Express đều là những ví dụ điển hình về các ứng dụng có giao diện dòng lệnh, cũng như thư viện. Trong những trường hợp đó, bạn có thể thực hiện một trong những điều sau đây:

  • Cài đặt nó ở cả hai nơi . Nghiêm túc mà nói, bạn có ngắn trên không gian đĩa? Thật tốt, thật đấy. Chúng là những chương trình JavaScript nhỏ.
  • Cài đặt nó trên toàn cầu và sau đó npm link coffee-script hoặc npm link express (nếu bạn đang ở trên một nền tảng hỗ trợ các liên kết tượng trưng.) Sau đó, bạn chỉ cần cập nhật bản sao toàn cầu để cập nhật tất cả các liên kết tượng trưng.

Lựa chọn đầu tiên là tốt nhất theo ý kiến ​​của tôi. Đơn giản, rõ ràng, rõ ràng. Thứ hai là thực sự tiện dụng nếu bạn sẽ sử dụng lại cùng một thư viện trong một loạt các dự án khác nhau. (Thêm về liên kết npm trong phần sau.)

Tôi đã không kiểm tra một trong những biến thể đó, nhưng chúng có vẻ khá đơn giản.


7
Cảm ơn đã làm rõ. Isaacs nên thay thế toàn bộ nf manfile và git wiki bằng văn bản trên. Có thể làm sáng tỏ sự nhầm lẫn hàng loạt.
Mauvis Ledford

shweeet. Điều này có ích, tôi đã bị bắt bởi sự thay đổi này. Tại một số thời điểm cài đặt npm đã cho phép truy cập dòng lệnh sau đó nó biến mất và tôi không theo dõi dự án đủ chặt chẽ để bắt kịp quá trình chuyển đổi.
Đánh dấu Essel

Điều này giải thích tại sao tôi có một mô-đun nút kết thúc trong thư mục cấu hình Apache của tôi. . .
Ian Hunter

1
Từ blog . . Bạn có thể chạy npm prefixđể lấy tiền tố cục bộ và node prefix -gđể xem tiền tố toàn cầu :)
nacho4d

"Nếu bạn đang cài đặt một cái gì đó mà bạn muốn sử dụng trong chương trình của mình, sử dụng yêu cầu ('bất cứ điều gì'), sau đó cài đặt nó cục bộ , tại thư mục gốc của dự án của bạn." - Tôi nghĩ, đó không phải là một ý tưởng tốt nếu mô-đun chứa nhị phân được biên dịch: nó phải được biên dịch lại trên linux và windows đúng cách. Tôi nghĩ rằng loại mô-đun như vậy phải được đặt bằng cách sử dụng môi trường NODE_PATH khả thi ( nodejs.org/api/ mẹo )
Sneg

8

Trên máy Mac, tôi thấy đầu ra chứa thông tin tôi đang tìm:

$> npm install -g karma
...
...
> ws@0.4.25 install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
...
$> ls /usr/local/share/npm/bin
karma nf

Sau khi thêm /usr/local/share/npm/binvào export PATHdòng của tôi .bash_profile, lưu nó và sử dụng sourcenó, tôi đã có thể chạy

$> karma --help

bình thường



2

Tôi gặp sự cố khi cài đặt Express trên Ubuntu:

Nếu vì lý do nào đó lệnh NPM bị thiếu, hãy kiểm tra lệnh npm với npm help. Nếu không có, hãy làm theo các bước sau - http://arnolog.net/post/8424207595/installing-node-js-npm-express-mongoose-on-ub Ubuntu

Nếu chỉ lệnh Express không hoạt động, hãy thử:

sudo npm install -g express

Điều này làm cho mọi thứ hoạt động như tôi đã quen với Windows7 và OSX.

Hi vọng điêu nay co ich!


1

Bạn cần phải có đặc quyền siêu người dùng,

 sudo npm install -g <package name>

-1

Trong Ubuntu, đặt đường dẫn của node_modules trong tệp .bashrc

xuất PATH = "/ home / tên người dùng / node_modules / .bin: $ PATH"


-5

Bạn có thể không có quyền ghi để cài đặt mô-đun nút ở vị trí toàn cầu /usr/local/lib/node_modules, như trong trường hợp này chạy gói npm install -g với quyền root.

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.