Làm thế nào để sử dụng npm với node.exe?


108

Tôi đã tải xuống Windows Binary (.exe) của nodejs từ trang chính .

Tôi có thể cài đặt và sử dụng npm(trình quản lý gói Node) như thế nào?


Hệ nhị phân của windows là 0.5.x, là phiên bản không ổn định của node.js. Tôi khuyên bạn không nên chạy nó trong sản xuất, tuy nhiên nó có thể sử dụng được để phát triển. Bạn có thể muốn đợi 0,6 (sớm thôi!) Trước khi chạy node.js trong windows trên phiên bản sản xuất.
Raynos

5
Nếu bạn tìm thấy câu hỏi này thông qua google, Node.js dành cho Windows đi kèm với npm được cung cấp (lưu ý: đó là tệp thực thi chuyển qua tập lệnh, không phải tệp thực thi thực sự).
Mike 'Pomax' Kamermans

Câu trả lời:


58

Trình cài đặt windows hiện tại từ nodejs.org kể từ v0.6.11 (2012-02-20) sẽ cài đặt NPM cùng với NodeJS.

LƯU Ý:

  • Tại thời điểm này, phiên bản 64 bit là lựa chọn tốt nhất của bạn
  • Đường dẫn cài đặt cho nút 32-bit là "Tệp chương trình (x86)" trong cửa sổ 64-bit.
  • Bạn cũng có thể cần thêm dấu ngoặc kép vào câu lệnh đường dẫn trong các biến môi trường, điều này dường như chỉ xảy ra trong một số trường hợp mà tôi đã thấy.
  • Trong Windows, toàn cầu cài đặt đường dẫn thực sự là trong thư mục hồ sơ cá nhân của người sử dụng của bạn
    • %USERPROFILE%\AppData\Roaming\npm
    • %USERPROFILE%\AppData\Roaming\npm-cache
    • CẢNH BÁO: Nếu bạn đang thực hiện các sự kiện theo thời gian hoặc tự động hóa khác với tư cách người dùng khác, hãy đảm bảo bạn chạy npm installvới tư cách người dùng đó. Một số mô-đun / tiện ích nên được cài đặt trên toàn cầu.
    • CÁC NHÓM CÀI ĐẶT: Bạn có thể phải tạo các thư mục này hoặc tự thêm ...\npmthư mục vào đường dẫn người dùng của mình.

Để thay đổi vị trí "toàn cầu" cho tất cả người dùng thành vị trí toàn cầu được chia sẻ thích hợp hơn %ALLUSERSPROFILE%\(npm|npm-cache)(thực hiện việc này với tư cách là quản trị viên):

  • tạo một [NODE_INSTALL_PATH]\etc\thư mục
    • điều này là cần thiết trước khi bạn thử npm config --global ...các hành động
  • tạo (các) vị trí toàn cầu (quản trị) cho các mô-đun npm
    • C:\ProgramData\npm-cache - mô-đun npm sẽ xuất hiện ở đây
    • C:\ProgramData\npm - các tập lệnh nhị phân cho các mô-đun được cài đặt toàn cầu sẽ ở đây
    • C:\ProgramData\npm\node_modules - các mô-đun được cài đặt toàn cầu sẽ ở đây
    • đặt các quyền một cách thích hợp
      • quản trị viên: sửa đổi
      • người dùng đã xác thực: đọc / thực thi
  • Đặt cài đặt cấu hình chung (Dấu nhắc lệnh của quản trị viên)
    • npm config --global set prefix "C:\ProgramData\npm"
    • npm config --global set cache "C:\ProgramData\npm-cache"
  • Thêm vào C:\ProgramData\npmbiến môi trường Đường dẫn hệ thống của bạn

Nếu bạn muốn thay đổi vị trí "toàn cầu" của người dùng thành %LOCALAPPDATA%\(npm|npm-cache)đường dẫn thay thế:

  • Tạo các thư mục cần thiết
    • C:\Users\YOURNAME\AppData\Local\npm-cache - mô-đun npm sẽ xuất hiện ở đây
    • C:\Users\YOURNAME\AppData\Local\npm - các tập lệnh nhị phân cho các mô-đun đã cài đặt sẽ ở đây
    • C:\Users\YOURNAME\AppData\Local\npm\node_modules - các mô-đun được cài đặt toàn cầu sẽ ở đây
  • Định cấu hình npm
    • npm config set prefix "C:\Users\YOURNAME\AppData\Local\npm"
    • npm config set cache "C:\Users\YOURNAME\AppData\Local\npm-cache"
  • Thêm đường dẫn npm mới vào môi trường của bạn PATH.
    • setx PATH "%PATH%;C:\Users\YOURNAME\AppData\Local\npm"

Đối với người mới bắt đầu, một số mô-đun npm mà tôi đã sử dụng nhiều nhất như sau.

  • axios - cho các bài đăng / được http phức tạp hơn
  • isomorphic-fetch - cho (các) yêu cầu đăng / nhận http
  • node-mailer - ứng dụng smtp
  • mssql - giao diện và thư viện trình điều khiển để truy vấn MS SQL Server (kết thúc tẻ nhạt )

Các tùy chọn JS nâng cao hơn ...

  • async / await - chức năng không đồng bộ, được hỗ trợ qua babel

Để thử nghiệm, tôi sử dụng các công cụ sau ...

  • mocha - khung thử nghiệm
  • chai - thư viện khẳng định, tôi thích chai.expect
  • sinon - gián điệp và sơ khai và miếng chêm
  • sinon-chai - mở rộng chai với các công cụ khẳng định của sinon
  • babel-istanbul - báo cáo bao phủ
  • jest - thử nghiệm song song, xác nhận, chế nhạo, báo cáo phạm vi trong một công cụ
  • babel-plugin-rewire - dễ dàng hơn một chút đối với một số điều kiện chế nhạo so với jest

Công cụ web.

  • webpack - gói mô-đun, gói mô-đun kiểu nút để sử dụng trình duyệt
  • babel - chuyển đổi cú pháp JS (ES2015 +) hiện đại cho môi trường triển khai của bạn.

Nếu bạn xây dựng nó ...

  • shelljs - tiện ích shell cho các tập lệnh nút ,. Tôi đã từng sử dụng gulp / grunt, nhưng những ngày này sẽ có một scriptsthư mục được tham chiếu trong package.json các tập lệnh thông qua npm. Bạn có thể sử dụng các công cụ gulp bên trong các script đơn giản.

Kể từ ngày 25 tháng 2, lỗi đó dường như đã được sửa; Tôi có thể chạy NPM từ% path% (hoặc đó hoặc iisnode cố định nó cho tôi)
Dan Davies Brackett

12
Để sử dụng NPM trên Windows, hãy sử dụng Node.js Command Prompt. Chỉ cố chạy npmtừ bất kỳ dòng lệnh nào khác sẽ không hoạt động.
Daniel AA Pelsmaeker

Danh sách tốt các mô-đun cho người mới bắt đầu. Thay vì sử dụng Tedious đơn giản, hãy sử dụng node-mssql để bọc Tedious để có một api dễ dàng hơn nhiều.
Christiaan Westerbeek

Tôi phải tạo thủ công thư mục / thư mục C: \ Users \ kevitt \ AppData \ Roaming \ npm ngay bây giờ trước khi tôi có thể cài đặt gói đầu tiên của mình.
Kenny Evitt

@ DanielA.A.Pelsmaeker Tôi chưa BAO GIỜ chạy npm trên Windows với Node.js Command Prompt ; không nói rằng nó không phải là một phương pháp khả thi. Hầu hết mọi thiết bị đầu cuối hoặc trình bao sẽ hoạt động nếu người sử dụng nó biết họ đang làm gì! Tôi sử dụng npmcác lệnh hầu như mỗi ngày; và BASH là lựa chọn của tôi nếu tôi gặp khó khăn khi sử dụng Windows; nhưng, hoạt động CMD & PowerShell gốc của Windows, BASH, WSL (BASH, ZSH, Fish) ... tất cả chúng đều hoạt động tốt. “ Chỉ cố gắng chạy npm từ bất kỳ dòng lệnh nào khác sẽ không hoạt động. ” Câu lệnh đó giống như nói rằng bạn phải sử dụng VIM để viết JavaScript và bất kỳ IDE nào khác sẽ không hoạt động. #facepalm
Rockin4Life33

43

Khi Node.js không được cài đặt bằng trình cài đặt msi , npm cần được thiết lập theo cách thủ công.

thiết lập npm

Đầu tiên, giả sử chúng ta có tệp node.exe nằm trong thư mục c:\nodejs. Bây giờ để thiết lập npm -

  1. Tải xuống bản phát hành npm mới nhất từ GitHub ( https://github.com/npm/npm/releases )
  2. Tạo các thư mục c:\nodejs\node_modulesc:\nodejs\node_modules\npm
  3. Giải nén tệp zip đã tải xuống trong c:\nodejs\node_modules\npmthư mục
  4. Sao chép NPMnpm.cmd file từ c:\nodejs\node_modules\npm\binđến c:\nodejsthư mục

Để kiểm tra npm , hãy mở cmd.exethư mục làm việc thay đổi thành c:\nodejsvà nhập npm --version. Bạn sẽ thấy phiên bản của npm nếu nó được thiết lập đúng cách.

Sau khi thiết lập xong, nó có thể được sử dụng để cài đặt / gỡ cài đặt các gói cục bộ hoặc toàn cầu. Để biết thêm thông tin về cách sử dụng npm, hãy truy cập https://docs.npmjs.com/ .

Bước cuối cùng, bạn có thể thêm đường dẫn thư mục của nút c:\nodejsvào pathbiến môi trường để bạn không phải chỉ định đường dẫn đầy đủ khi chạy node.exenpmtại dấu nhắc lệnh.


Làm việc như một cái duyên, Cảm ơn.
Mr Roshan Pawar

câu trả lời tốt nhất cho bây giờ. người được bình chọn tốt nhất có một liên kết bị hỏng.
Aaron,

38

npm có thể được tải xuống (không cần cài đặt) từ đây:

http://nodejs.org/dist/npm/

https://github.com/npm/npm/releases


9
Chỉ cần giải nén kho lưu trữ trong cùng thư mục với node.exe, để npm.cmd ở cùng cấp với node.exe.
Ezward

1
Đây là một cách tốt để "cài đặt" nút và npm nếu bạn không có đặc quyền Quản trị viên. Một khi bạn có cả NPM và nút đó, thêm rằng để con đường của bạn: set NODE=%USERPROFILE%\nodejsPATH=%PATH%;%NODE%và bạn tốt đang để đi ...
djKianoosh

@djKianoosh, Đó là bùng binh. Tất cả những gì bạn cần là set path=your/folder/containing/node. Ví dụ set path=%userprofile%\nodejs,. Sau đó gọi npmsau đó, vậy thôi. Lệnh set pathchỉ ảnh hưởng đến phiên cmd hiện tại của bạn, không ảnh hưởng đến toàn bộ trong sổ đăng ký, vì vậy bạn không phải hoàn tác nó.
Pacerier

@Ezward, Bạn không cần chúng trong cùng một thư mục. Xem bình luận ở trên.
Pacerier

đúng vậy @Pacerier. Tôi có một cái gì đó tương tự được viết theo tập lệnh để chạy khi đăng nhập để tự động hóa nó. Vấn đề chính trong một doanh nghiệp là thiếu quyền quản trị và proxy / tường lửa.
djKianoosh

11

Tôi vừa cài đặt phiên bản mới nhất của nút (0.6.12) trong Windows 7 bằng msi (node-v0.6.12.msi).

npm đã được vận chuyển cùng với nó, không cần phải bao gồm nó riêng biệt.

Tôi đã gặp sự cố về quyền khi chạy npm (npm install mysql), từ đường dẫn nơi cư trú của nodejs của tôi, tức là C: \ Program Files (x86) \ nodejs

Sau đó, tôi làm theo các bước dưới đây:

1) Đã thêm C:\Program Files (x86)\nodejs\npmvào các biến môi trường - Biến hệ thống đường dẫn.

2) quay lại chỉ C:\trong dấu nhắc lệnh và đưa ra lệnh - npm install mysql- và thì đấy! nó đã làm việc..

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


tải ở đâu vậy msi? tôi không thấy nó trên trang web.
vee

@vee, Có đúng không trên trang chính nodejs.org/download . Tìm kiếm "msi".
Pacerier

7

Tôi đang chạy node.js trên Windows với npm. Bí quyết đơn giản là sử dụng cygwin. Tôi đã làm theo hướng dẫn tại https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows) . Nhưng hãy đảm bảo rằng bạn sử dụng phiên bản 0.4.11 của nodejs hoặc npm sẽ không thành công!


9
cygwin không bao giờ nên là câu trả lời. Đó là cách sai để giải quyết những vấn đề này.
Troy Howard

Với nút 0.6, bạn có thể sử dụng nút dễ dàng trong các cửa sổ, nhưng nhiều mô-đun nút phụ thuộc vào mã nhị phân không hỗ trợ cửa sổ và sau đó bạn lại đến điểm mà bạn cần một thứ gì đó như môi trường unix.
malte

1
Trên thực tế @Troy Howard, bạn không phải xử lý Windows nhiều nếu sử dụng cygwin. Chỉ điều đó thôi đã là một điểm cộng rất lớn vì nó loại bỏ nguồn gốc của hầu hết các vấn đề của anh ấy.
JaneGoodall

1
@TroyHoward Tôi sẽ đi một bước xa hơn và nói rằng Windows không bao giờ nên là câu trả lời cho bất kỳ loại phát triển web nào.
Noz

Một bước xa hơn ngoài bước bắt bẻ của bạn, Windows Visual Studio và .NET rất phù hợp để phát triển web bao gồm PHP và Perl, tất cả đều chạy trên IIS.
Jules Bartow

4

Tôi vừa cài đặt 64 bit Node.js v0.12.0 cho Windows 8.1 từ đây . Nó có dung lượng khoảng 8MB và vì nó là MSI nên bạn chỉ cần nhấp đúp để khởi chạy. Nó sẽ tự động thiết lập đường dẫn môi trường của bạn, v.v.

Sau đó, để lấy dòng lệnh, nó chỉ [Win-Key]+[S] dành cho tìm kiếm và sau đó nhập "node.js" làm cụm từ tìm kiếm của bạn.

Chọn Node.js Command Prompt mục nhập KHÔNG phải Node.jsmục nhập.

Cả hai sẽ cung cấp cho bạn một dấu nhắc lệnh nhưng chỉ dấu nhắc lệnh trước mới thực sự hoạt động. npm được tích hợp trong bản tải xuống đó nên chỉ cần npm -whatevernhắc nhở.


Điều này đã giải quyết câu hỏi mà tôi đến đây - sau khi cài đặt node.js trên Windows thông qua trình cài đặt MSI, tôi vẫn không thể truy cập npm từ dòng lệnh và việc chạy trong cửa sổ "node.js" chỉ xuất hiện một lỗi mà tôi cần sử dụng dòng lệnh. Tôi tự tin rằng tôi không cần phải thêm đường dẫn theo cách thủ công - sau đó tôi thấy rằng tôi cần phải chạy trong vỏ nút đặc biệt, như được chỉ ra bởi câu trả lời này. Cảm ơn.
Dan Nissenbaum

3

Sử dụng trình quản lý Gói Windows giống như sô cô la. Đầu tiên cài đặt chocolatey như được chỉ ra trên trang chủ của nó . Điều đó sẽ dễ dàng

Sau đó, để cài đặt Node JS (Install), hãy chạy lệnh sau từ dòng lệnh hoặc từ PowerShell:

C:> cinst nodejs.install


Điều đó bây giờ đã làm việc cho tôi. Đường dẫn trong windows 8.1 được đặt chính xác thành: C: \ Program Files \ nodejs. Nhưng tôi không thể chạy npm trừ khi tôi chuyển sang đường dẫn đó. Nhưng nếu tôi chạy dòng nhắc cmd nodejs, nó sẽ đặt nó để nó hoạt động. Nó thiết lập C: \ Windows \ System32 \ cmd.exe / k "C: \ Program Files \ nodejs \ nodevars.bat" và chạy trong "C: \ Program Files \ nodejs \" Có thể c: \> cinst nodejs đã làm được mà tôi đã chạy trước cinst nodejs.install. Tôi không chắc. (tại sao tôi không thể sửa chữa một bình luận cũ?)
Patrik Lindström

Bạn có thể chỉnh sửa nhận xét của riêng mình sau khi đăng chúng, trong vòng 5 phút. meta.stackexchange.com/questions/459/… . Có vẻ như bây giờ ít nhất bạn có thể xóa hai nhận xét đầu tiên.
Christiaan Westerbeek

2

Đây là hướng dẫn của @CTS_AE về cách sử dụng NPM với node.exe độc ​​lập: https://stackoverflow.com/a/31148216/228508

  1. Tải xuống node.exe độc ​​lập từ nodejs.org
  2. Lấy zip phát hành NPM ra khỏi github https://github.com/npm/npm/releases
  3. Tạo một thư mục có tên: node_modules trong cùng một thư mục với node.exe
  4. Giải nén zip NPM vào thư mục node_modules
  5. Đổi tên thư mục npm đã giải nén thành npm và loại bỏ bất kỳ phiên bản nào, ví dụ: npm-3.3.4 -> npm.
  6. Sao chép npm.cmd ra khỏi thư mục / npm / bin / vào thư mục gốc với node.exe

0

Tôi mới cài đặt Node.js lần đầu tiên và nó bao gồm NPM, có thể chạy từ cmd Windows. Tuy nhiên, hãy đảm bảo rằng bạn chạy nó với tư cách quản trị viên. Nhấp chuột phải vào cmd và chọn "chạy với tư cách quản trị viên". Điều này cho phép tôi gọi các lệnh npm.


-1

Tìm kiếm tất cả tệp .npmrc trong hệ thống của bạn.

Vui lòng xác minh rằng đường dẫn bạn đưa ra là chính xác. Nếu không, vui lòng xóa đường dẫn không chính xác.

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.