'npm' không được nhận dạng là lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó


201

Tôi hoàn toàn mới với nodejs. Tôi đang cố gắng để nodejs hoạt động trên hộp Windows 2008 của mình để cài đặt Karma mà tôi sẽ sử dụng cho TDDing mã AngularJs của mình. Tôi đã thực hiện các bước sau đây cho đến nay

  1. Cài đặt bằng Chocolatey ==> npm không được nhận dạng
  2. Cài đặt bằng trình cài đặt nodejs 64 bit từ nodejs.org ==> npm không được nhận dạng
  3. Ở giai đoạn này, chạy where npmcho tôi c:\User\<Username>\AppData\Roaming\npmkhông có gì trong đó
  4. Tôi tìm ra rằng nodejs được cài đặt trong C:\Program Files\nodejs. Mở một dấu nhắc lệnh trong thư mục này làm cho npmcông việc tốt.
  5. Vì vậy, tôi đã thêm C:\Program Files\nodejsvào PATHchỉ để nhận được cùng một lỗi một lần nữa rằngnpm is not recognized
  6. Một trong những vấn đề của github trên kho lưu trữ của nodejs nói rằng tôi cần khởi động lại máy và nó sẽ sửa. Nhưng điều đó không giúp được gì cho đến nay
  7. Tôi thấy một Node.jsbiểu tượng trong Start -> Programmsbảng điều khiển của tôi đưa tôi đến bảng điều khiển của nodejs nhưng không biết phải làm gì với điều đó.

Tôi đã bỏ lỡ bất kỳ bước quan trọng trong quá trình?

Biên tập

Tôi nhận ra rằng nếu tôi mở "Dấu nhắc lệnh Nodejs" từ các tệp chương trình, thì npm được nhận ra. Làm thế nào để tôi làm cho nó hoạt động trên một dấu nhắc lệnh bình thường?

Biên tập

Sau khi nodetôi bắt đầu đối mặt với một vấn đề tương tự với một ứng dụng khác. Tôi đã đăng câu hỏi này lên superuser và như được chỉ ra đúng bởi câu trả lời được chấp nhận, tôi đã có một trích dẫn bổ sung trong PATHđó gây ra vấn đề với tất cả các đường dẫn được thêm vào sau trích dẫn. Tôi có cảm giác rằng một số cài đặt Chocolatey thêm trích dẫn rắc rối này nhưng tôi chỉ không chắc chắn cái nào.


8
Sau khi thêm vào PATH, bạn đã khởi động lại dòng lệnh? PATHchỉ được tải khi khởi tạo phiên dòng lệnh mới.
Davin Tryon

Có Davin, tôi đã khởi động lại dòng lệnh nhiều lần rồi
Suhas

Tôi đã có "C: \ Program Files \ nodejs \" trong hệ thống của mình PATHvà mọi thứ hoạt động trên Windows 7.
Davin Tryon

5
Bạn có thể mở một dấu nhắc lệnh mới và gõ PATH(nhấn <enter>) và kiểm tra kỹ xem bạn có thấy "C: \ Program Files \ nodejs \" không?
Davin Tryon

1
Vâng, tôi có C:\Program Files\nodejstrongPATH
Suhas

Câu trả lời:


346

Chỉ cần thêm:

;C:\Program Files\nodejs\

Đến cuối biến Đường dẫn của bạn trên phần "Biến người dùng" của Biến môi trường trên Thuộc tính hệ thống.

Sau đó, mở lại dấu nhắc lệnh của bạn và gõ

npm

Điều này nên làm việc.


4
Lý do tôi không chấp nhận câu trả lời là tôi đã có lối vào đó. Lý do nó không hoạt động là khác nhau. Tôi đã đưa ra ý kiến ​​cho câu trả lời của bạn
Suhas

4
dấu chấm phẩy phân tách các biến người dùng khác nhau mà bạn có thể có. Vì vậy, thông thường bạn đã có một số đường dẫn trong các biến môi trường của mình và để thêm một đường dẫn mới, trước tiên bạn cần tách biệt với phần còn lại bằng cách thêm dấu chấm phẩy trước đường dẫn bạn muốn thêm.
Breno

2
mất chút thời gian tìm kiếm Cách thêm <code>; C: \ Program Files \ nodejs \ </ code> vào "Biến người dùng". Chia sẻ phần này bên dưới: 1: Mở cửa sổ Thuộc tính hệ thống (Bắt đầu -> Cài đặt -> Bảng điều khiển -> Hiệu suất và bảo trì -> Hệ thống). 2.Chọn tab Nâng cao. 3. Nhấp vào nút Biến môi trường. 4. Nhấp vào nút Mới bên dưới "Biến người dùng" 5.add "Đường dẫn" và "; C: \ Chương trình tệp \ nodejs \"
Wen

6
Trình cài đặt node.js đã đặt biến đường dẫn cho tôi. Nhưng tôi vẫn không có npm trên dòng lệnh.
MrFox

7
Bạn đã khởi động lại @MrFox?
Breno

116

Đừng quên khởi động lại máy tính của bạn sau khi cài đặt nút! Cái đó có tôi


Không chắc chắn nếu bạn cần điều đó nếu bạn cài đặt bằng cách sử dụng Chocoletey.
Suhas

58
Bạn không cần phải khởi động lại, mà chỉ cần đóng thiết bị đầu cuối của bạn và mở lại.
Cá da trơn

5
Khởi động lại, khởi động lại, khởi động lại!
Ngày Andrew

@Suhas ... giành chiến thắng 10 - PS quản trị nhắc -choco cài đặt nodejs - khởi động lại Mã ... VẪN phải khởi động lại
felickz

Mã VS tự cập nhật. Phải khởi động lại, không có gì khác làm việc.
TDP

33

Để giải thích về câu trả lời của Breno ... Đối với Windows 7, các bước này hoạt động với tôi:

  1. Mở Bảng điều khiển (Nhấp vào nút Bắt đầu, sau đó nhấp vào Bảng điều khiển )
  2. Nhấp vào Tài khoản người dùng
  3. Nhấp vào Thay đổi biến môi trường của tôi
  4. Chọn PATH và nhấp vào Chỉnh sửa ... nút
  5. Vào cuối giá trị Biến, thêm ;C:\Program Files\nodejs
  6. Nhấp vào Ok trên cửa sổ "Chỉnh sửa biến người dùng", sau đó nhấp vào Ok trên cửa sổ "Biến môi trường"
  7. Bắt đầu một cửa sổ nhắc lệnh (Nút bắt đầu, sau đó nhập cmd vào tìm kiếm và nhấn enter)
  8. Tại dấu nhắc ( C:\>) gõ npm và nhấn enter; bây giờ bạn sẽ thấy một số văn bản trợ giúp ( Usage: npm <command>v.v.) thay vì " npm không được nhận ra ... "

Bây giờ bạn có thể bắt đầu sử dụng npm !


6
Trên một số hệ thống, nó có thể được ;C:\Program Files(x86)\nodejs.
kaiser


17

Đừng quên chạy cmd với tư cách quản trị viên.


Tôi đã cài đặt Node bên ngoài Program Filesvà điều này đã khắc phục vấn đề. Cảm ơn.
Pauline

Một điều đơn giản như vậy ai cũng bỏ lỡ. Cảm ơn Raul. Câu trả lời của bạn là cuối cùng không phải là ít nhất và giải quyết vấn đề. cảm ơn người đàn ông
Gaurav khurana 26/07/18

12

Tôi đã có cùng một vấn đề được mô tả bởi Ashu , nhưng ngoài ra, mục PATH cho nodejs đã bị chấm dứt bởi dấu gạch chéo ngược:

C:\Program Files\nodejs\

Tôi cũng đã phải xóa dấu gạch chéo ngược cuối cùng để nó hoạt động.


1
Bạn viết 'ngoài ra' nhưng thay đổi duy nhất mà tôi phải thực hiện là xóa dấu gạch chéo trong biến môi trường hệ thống Đường dẫn.
Scott Munro

9

Tôi đã phải đối mặt với cùng một vấn đề và nhận thấy rằng sau khi cài đặt node.js, có một mục đường dẫn mới trong phần biến người dùng cho PATH với giá trị -> c: \ User \\ AppData \ Roaming \ npm. Ngoài ra, mục Path trong biến hệ thống được thêm vào -> C: \ Program Files \ nodejs. Bây giờ vì biến người dùng có ưu tiên trên hệ thống, bạn có hai tùy chọn để khắc phục điều này. Xóa đường dẫn khỏi biến người dùng hoặc sửa đường dẫn đúng (C: \ Program Files \ nodejs). Khởi động lại CMD và nó sẽ hoạt động.


7

Chỉ cần tải xuống và cài đặt Node.js từ đây https://nodejs.org/en/

Nếu bạn chạy tệp đã tải xuống và cài đặt nó, chúng sẽ tự động định cấu hình cho hệ thống của bạn

Bạn không cần bất kỳ cấu hình nào nữa, bây giờ bạn có thể sử dụng lệnh npm ở bất cứ đâu


Nếu Nodejs được cài đặt thành công và vẫn hiển thị thông báo như thế này:

'npm' không được công nhận là lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó.

Thực hiện theo các bước bên dưới cho người dùng Windows:

  1. Chuyển đến Thuộc tính máy tính của tôi
  2. Nhấp vào Cài đặt hệ thống nâng cao từ thanh bên trái của cửa sổ.
  3. Bây giờ bạn có một cửa sổ Thuộc tính hệ thống. Nhấp vào Nâng cao
  4. Sau đó nhấp vào nút Biến môi trường
  5. Bây giờ bạn có cửa sổ biến môi trường: Từ biến hệ thống , chọn đường dẫn
  6. Nhấp vào Chỉnh sửa
  7. Vào cuối giá trị Biến, thêm ;C:\Program Files\nodejs\

    Lưu ý : Nếu bạn đã cài đặt nodejs trên các ổ đĩa khác thì hãy hành động tương ứng.

  8. Bấm Ok tất cả các hộp thoại mở

Lưu ý rất quan trọng : "Đóng Dấu nhắc lệnh của bạn và khởi động lại" (Điều này rất quan trọng vì nếu bạn không khởi động lại dấu nhắc lệnh thì các thay đổi sẽ không được phản ánh.)

Bây giờ bạn có thể sử dụng lệnh npm ở bất cứ đâu


6

Nếu bạn đang sử dụng Mã VS, hãy đóng mã VS và mở lại.

Tôi đã thử đóng Terminal và sau đó mở Terminal mới nhưng nó không hoạt động.

Khởi động lại mã VS hoạt động!


4

Có vấn đề tương tự trên Windows 8.1 64 bit.
Hóa ra tôi gặp vấn đề đó nếu tôi bắt đầu cmd bằng cách gõ nó vào thanh đường dẫn ở đầu cửa sổ thư mục
hoặc
khi tôi nhấp chuột phải vào cửa sổ thư mục và sau đó mở dấu nhắc lệnh từ danh sách.

Khi tôi chạy cmd bằng Run hoặc Just từ cmd.exe thực thi, nó hoạt động.


4

Nếu bạn gặp lỗi này thông qua tài khoản dịch vụ như dịch vụ điều khiển Visual Studio TFS Build hoặc bất kỳ dịch vụ nền nào khác, hãy đảm bảo bạn khởi động lại dịch vụ sau khi cài đặt npm vì các cài đặt môi trường PATH mới sẽ không được chọn bởi các quy trình đang chạy. Tôi đã gặp lỗi tương tự thông qua dịch vụ xây dựng của mình nhưng tôi đã cài đặt npm và chạy trong bảng điều khiển.


4

Bạn có thể đã nhận được phản hồi nhưng điều này có thể giúp đỡ người khác vì tôi gặp vấn đề tương tự gần đây và đây là những gì tôi đã làm:

  1. Cung cấp một mục nhập đường dẫn tới powershell. Đối với tôi đường dẫn là C: \ Windows \ System32 \ WindowsPowerShell \ v1.0
  2. Sau đó, tôi đã mở cmd prompt với quyền quản trị và sao chép này

    @powershell -NoProfile -ExecutPolicy không bị giới hạn -Command "iex ((new-object net.webclient) .DoadString (' https://chatioatey.org/install.ps1 '))" && SET PATH =% PATH%; \ sô cô la \ bin

vào dấu nhắc cmd.

  1. Tiếp theo, choco cài đặt nodejs
  2. Khởi động lại và mọi thứ hoạt động tốt. Hãy thử mở cmd mà không có đặc quyền của quản trị viên và chạy npm -v Cheers.

3

Tôi cũng gặp phải vấn đề này. Hóa ra Windows không được hưởng các trích dẫn đơn trên dòng lệnh. Thủ phạm là một trong những kịch bản npm của tôi. Tôi đã thay đổi dấu ngoặc đơn thành dấu ngoặc kép thoát:

'npm -s run sass-build'

đến

\"npm -s run sass-build\"

3

Tôi đang cập nhật chủ đề này với một câu trả lời mới vì tôi đã tìm thấy giải pháp cho tình trạng khốn khổ của mình sau không dưới một tuần ...

Đối với những người vẫn gặp lỗi mặc dù họ đã đặt giá trị đường dẫn đúng, hãy kiểm tra biến đường dẫn của bạn để có giá trị (giá trị mặc định trong windows 7 +): .COM; .EXE; .BAT; .CMD; .VBS; .VBE ; .JS; .JSE; .WSF; .WSH; .MSC

Của tôi là chỉ đặt thành: .BAT và thay đổi nó đã giải quyết vấn đề. Tôi tự hỏi tại sao không ai đưa ra điều này ...

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


2

Tôi đã cài đặt nodejs theo hướng dẫn AngularJS này . lệnh npm đã hoạt động khi tôi mở một cửa sổ cmd mới nhưng không hoạt động trong cửa sổ hiện tại.
Vì vậy, sửa chữa là để đóng và mở một cửa sổ cmd mới .


2

Tôi đã gặp vấn đề này vào một ngày khác trên máy Windows 7 của tôi. Vấn đề không phải là con đường của tôi, nhưng tôi đã phải sử dụng các dấu gạch chéo thoát được thay vì dấu gạch chéo ngược như sau:

"scripts": {
    "script": ".\\bin\\script.sh"
}

2

Nếu gói được cài đặt thành công và vẫn hiển thị thông báo " 'npm' không được nhận dạng dưới dạng lệnh bên trong hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó. "

  1. Nhấp vào nút bắt đầu của cửa sổ.
  2. Tìm kiếm " TẤT CẢ APPS ", bạn sẽ thấy dấu nhắc Lệnh Node.js và Node.js ở đó.
  3. Bạn có thể chạy dấu nhắc Lệnh Node.js với tư cách quản trị viên và ngay khi chạy, nó sẽ hiển thị thông báo "Môi trường của bạn đã được thiết lập để sử dụng Node.js 6.3.0 (x64) và npm."

và sau đó nó hoạt động từ đó ...


1

Tôi đã cài đặt Node.js và trong khi thử cài đặt Ionic và cordova bằng đoạn mã này:

npm install -g cordova ionic

Tôi phải đối mặt với lỗi trên. Tôi đã thêm 'C: \ Program Files \ nodejs' vào Biến môi trường của tôi 'PATH'. Nhưng vẫn không thể vượt qua vấn đề này. Hóa ra biến PATH của tôi dài hơn 2048 ký tự và vì vậy tôi không thể thêm đường dẫn Nodejs vào nó. Tôi đã phải xóa đường dẫn của một chương trình khác và thêm đường dẫn Nodejs. Đóng và mở lại dấu nhắc cmd và thử cài đặt lại Ionic. Điều này làm việc cho tôi.


1

đối với tôi, việc thêm đường dẫn vào PATH không thực hiện được. Chạy c:\Program Files\nodejs\nodevars.batthay, nó sẽ làm việc cho bạn


1

Trong trường hợp của tôi khi thực hiện kiểm tra qua Mocha, tôi đã thử mọi cách chỉ để nhận ra rằng tôi phải xóa các trích dẫn đơn xung quanh thẻ script trường hợp thử nghiệm của mình bên trong package.json .

Tôi đang chạy mochathử nghiệm trên tất cả*.test.js các tệp như có thể thấy dưới đây:

pack.json

Trước:

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec 'npm run test'"
  }

Sau (xóa dấu ngoặc đơn - kiểm tra chạy npm):

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec npm run test"
  }

Làm việc cho tôi, chỉ trong trường hợp người khác cũng bị mắc kẹt về điều này.


1

Nếu mọi thứ có vẻ tốt. Tôi sẽ tư vấn để kiểm tra điều này cho PATHEXT .CMD phải được thêm vào. nhập mô tả hình ảnh ở đây


Câu trả lời của bạn đã khắc phục 100% vấn đề của tôi. Cảm ơn.
Gauthier Buttez

0

Đối với windows8, nhấp chuột phải vào thuộc tính pc của tôi, sau đó nhấp vào biến môi trường biến người dùng hoặc biến hệ thống >> new >> đặt tên biến và đường dẫn: như thế này C:\Program Files\nodejs Sau đó, bây giờ hãy mở cmd và gõ npm nó sẽ hoạt động


2
Chào! Chào mừng đến với SO. Xin hãy xem phần trợ giúp về cách trả lời . Làm thế nào để điều này khác với các câu trả lời được đăng trước đó? Có điều gì đặc biệt khác với câu trả lời của @ Luke cho Windows 7 không? Có đề cập đến vấn đề với ;trong đường dẫn không áp dụng? Nếu bạn chỉ xác nhận điều đó, vâng, câu trả lời được chấp nhận vẫn có thể áp dụng trong Windows 8, vui lòng xem xét xóa câu trả lời của bạn và thêm thông tin dưới dạng nhận xét vào câu trả lời được chấp nhận. Nếu bạn đang mang một cái gì đó mới đến bảng xin vui lòng cập nhật câu trả lời của bạn để phản ánh điều đó. Tốt nhất
wahwahwah


0

Kiểm tra cấu hình npm bằng lệnh:

npm config list

Nó cần các thuộc tính: "tiền tố", "tiền tố" toàn cầu và "vị trí bin nút".

; userconfig C:\Users\username\.npmrc
cache = "C:\\ProgramData\\npm-cache"
msvs_version = "2015"
prefix = "C:\\ProgramData\\npm"
python = "C:\\Python27\\"
registry = "http://registry.com/api/npm/npm-packages/"

; globalconfig C:\ProgramData\npm\etc\npmrc
cache = "C:\\ProgramData\\npm-cache"
prefix = "C:\\ProgramData\\npm"

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\WINDOWS\system32

Trong trường hợp này, nó cần thêm các đường dẫn này vào cuối biến môi trường PATH:

;C:\Program Files\nodejs;C:\ProgramData\npm;

0

Nếu bạn đã sử dụng công cụ xây dựng ms để cài đặt nút, đường dẫn ở đây:

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VisualStudio\NodeJs

-2

Chúng ta cần cài đặt nodejs và chúng ta không cần phải làm gì nữa, sau đó chỉ cần sử dụng dấu nhắc lệnh và thay đổi thư mục cho dự án mà bạn muốn cài đặt npm và sau đó sử dụng lệnh npm install. Nó đã làm cho tôi.

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.