Không tìm thấy npm-cli.js khi chạy npm


90

Thông thường tôi có thể cài đặt thư viện bằng npm nhưng hôm nay khi cài đặt yeoman tôi gặp lỗi này. Vui lòng giúp tìm ra nguyên nhân gốc rễ.

D:\Works\phonegap\ionic\todo>npm install -g yo
    module.js:340
    throw err;
          ^
Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\node_modules\npm\bin\npm-cli.js'

at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3

Tôi nhìn vào thư mục:

C: \ Program Files \ nodejs \ node_modules \ npm \ bin \

nhưng không thấy thư mục node_modules như lỗi được mô tả.

Tôi cũng cố gắng tìm npm-cli.js và thấy nó thực sự nằm trongC:\Program Files\nodejs\node_modules\npm\bin\


khi bạn cài đặt nút?
Mritunjay

1
Xin lỗi, tôi quên đã cài đặt lại nút để khắc phục lỗi này nên không có thư mục node_modules bây giờ. Nhưng trước đó tôi cũng đã kiểm tra C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ node_mod ules \ nhưng không thấy thư mục npm trong đó.
user1192476

Tôi có câu trả lời cho điều này. Sẽ đăng sau 8 giờ. Cảm ơn.
user1192476

Câu trả lời:


105

Hóa ra vấn đề là do đường dẫn sai của nút trong biến hệ thống. Đường dẫn hiện đang trỏ đến

(Tôi thực sự không biết khi nào tôi đã sửa đổi nó)

C:\Program Files\nodejs\node_modules\npm\bin

vì vậy tôi thay đổi thành

C:\Program Files\nodejs

và nó hoạt động như một sự quyến rũ.


16
Có cùng một vấn đề. Chưa bao giờ thay đổi đường dẫn, vì vậy tôi đoán rằng điều này phải xảy ra khi tôi nâng cấp Node.
Nils Magne Lunde

Tôi nghĩ rằng đối với tôi khi bắt đầu vấn đề xảy ra khi tôi cài đặt Electron :(
Charles Walker

4
bạn đã thay đổi điều này ở đâu? tập tin gì?
CodeToad

1
Các biến môi trường.
Crozeta

Trên phiên bản mới nhất, sau khi nâng cấp, bạn có thể thấy cả hai đường dẫn trên các biến môi trường của mình và đường dẫn cũ (C: \ Users \ YOUR_USER \ AppData \ Roaming \ npm) được ưu tiên hơn đường dẫn mới (C: \ Program Files \ nodejs ). Xóa cái trước giải quyết được vấn đề cho tôi.
Shahroq

43

Bạn cần chạy điều này trong dòng lệnh.

SET PATH=C:\Program Files\Nodejs;%PATH%

bash shell trong windows
Prathap Kudupu

Tôi gặp sự cố này khi nâng cấp phiên bản nút của mình. Giải pháp của bạn đã làm việc cho tôi một cách hoàn hảo. Tôi không phải xóa bất kỳ node_modulesthư mục nào
AllJs

1
Vui vì nó giúp
Prathap Kudupu

Tôi đã phải di chuyển đường dẫn này lên cao hơn để cung cấp cho nó ưu tiên cao hơn sau khi cố gắng cập nhật npm bằng cách sử dụng npm (npm -i npm).
Corey Alix

26

Bạn cũng có thể gặp sự cố này nếu trong đường dẫn của bạn có C:\Program Files\nodejsC:\Program Files\nodejs\node_modules\npm\bin. Xóa cái sau khỏi đường dẫn


4
trong con đường ở đâu?
CodeToad

18

Tôi vừa sửa chữa cài đặt NodeJS của mình và nó hoạt động với tôi!

Vào Control Panel\All Control Panel Items\Programs and Features-> tìm NodeJSvà chọn sửa chữa tùy chọn để sửa chữa nó. Hi vọng điêu nay co ich.


1
Điều này làm việc cho tôi, nhưng nó được gọi là "ứng dụng và tính năng" trên cửa sổ 10
PeonProgrammer

Không có thư mục npm trong node_modules trong trường hợp của tôi và tất cả những gì tôi làm là thực hiện một lệnh npm install express, sửa chữa nó đã giúp ích.
Lalit Fauzdar

Cảm ơn vì điều này! vấn đề của tôi đã được giải quyết sau khi sửa chữa Nodejs trong 'ứng dụng và tính năng' trên máy tính windows của tôi!
missjcohen

18

Sao chép thư mục có tên npmtừ đường dẫn nút đã cài đặt của bạn (Trong trường hợp của tôi, thư mục npm đã có sẵn trong C:\Program Files\nodejs\node_modules).

Điều hướng đến C:\Users\%USERNAME%\AppData\Roaming\npm\node_modulesvà dán npmthư mục đã sao chép vào đó.

Phương pháp này đã làm việc cho tôi khi tôi gặp lỗi tương tự. . .


3
Cảm ơn bạn, điều này đã hoạt động tốt sau khi nâng cấp làm xáo trộn quá trình cài đặt và sửa chữa NPM của tôi và cài đặt lại không khắc phục được.
Slbox

14

Đây không phải là trường hợp tương tự như trong câu hỏi, nhưng có thể hữu ích cho ai đó đang gặp phải vấn đề tương tự. Trên Windows, nếu bạn đang gọi npmlệnh từ một số công cụ CI / tự động hóa, bạn có thể gặp lỗi:

Error: Cannot find module 'SOME_PATH\node_modules\npm\bin\npm-cli.js'

nơi SOME_PATHkhông phải là Program Files/...nhưng một số thư mục dự án để thay thế. Vì vậy, npm cố gắng tìm npm-cli.js bên trong thư mục gốc của dự án thay vì tìm kiếm nó trong Program Files/nodejs.

Lý do là tập lệnh npm.cmd:

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)


SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*

Tập lệnh này sử dụng %~dp0để tra cứu npm-cli.js nhưng một số công cụ tự động hóa có thể đặt thư mục công việc theo cách %~dp0trỏ đến dir dự án cục bộ, do đó tập lệnh hoạt động không chính xác.

Một giải pháp khả thi có thể là thay đổi các cuộc gọi npm từ

npm.cmd install

cái này

cmd.exe /c npm.cmd install

Nếu bạn cần phải thiết lập các WorkingDirectory để chạy các lệnh cài đặt trong một thư mục cụ thể điều này không giải quyết vấn đề
Daniel Fisher lennybacon

Điều hiệu quả với tôi là chạy thư mục thay đổi bằng lệnh npm sau đó: "cmd.exe" / c cd / d "T: \ TfsAgent_work \ 1 \ s \ src \ WebHost \" && "C: \ Program Files \ nodejs \ npm.cmd "install
Daniel Fisher lennybacon 28/03/18

7

Không có câu trả lời nào khác phù hợp với tôi.

Đây là những gì tôi viết (trong một trình bao git bash trên windows):

PATH="/c/Program Files/nodejs/:$PATH" npm run yeoman

6

Tôi gặp sự cố tương tự với nút 8.5 khi được cài đặt với nvm. Giải pháp dưới đây phù hợp với tôi

$ nvm uninstall 8.5
8.5.0
Uninstalling node v8.5.0...Error removing node v8.5.0
Manually remove C:\Users\Omkar\AppData\Roaming\nvm\v8.5.0.

$ nvm install 8.5
8.5.0
Downloading node.js version 8.5.0 (64-bit)...
Complete
Creating C:\Users\Omkar\AppData\Roaming\nvm\temp

Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...

Installation complete. If you want to use this version, type

nvm use 8.5.0

Omkar@VAST-0137 MINGW64 /d/code

Điều này làm việc với tôi vì nút 8,5 không được cài đặt chính xác trước đó với nvm. Tôi đã tìm ra nguyên nhân khiến các thư mục và tệp "npm \ bin \ npm-cli.js" không được tạo bên trong node_modules trước đây.


Con đường của tôi trông ổn; Gỡ cài đặt / Cài đặt lại đã giải quyết vấn đề cho tôi.
Mark Maslar

Tôi đã gặp một số vấn đề kỳ lạ với nút cũ ngay cả khi tôi chuyển sang phiên bản mới hơn. Vì vậy, tôi đã gỡ cài đặt nút cũ và cài đặt lại nút mới. Bằng cách này, tôi cố định vấn đề với cli :) thanks
Andrej Gaspar

5

Trên máy Mac:

Tôi đang chạy phần này ra khỏi Plugin Maven com.github.eirslett Frontend khi gặp lỗi tương tự.

Cuối cùng thì tôi phải:

Cài đặt Node.js thông qua tải xuống trình cài đặt tại đây: http://nodejs.org/

Xóa tất cả node/node_modules/thư mục khỏi cấu trúc xây dựng maven của tôi.


2
Có vẻ như điều này đã được khắc phục với các phiên bản mới hơn của plugin giao diện người dùng: github.com/eirslett/frontend-maven-plugin/issues/147
Noremac

5

Ngoài ra ở trên tôi đã phải loại bỏ C:\Users\%USERNAME%\AppData\Roaming\npmcũng. Điều này đã giúp.


1
Trên hệ thống của tôi, đó là nơi các gói toàn cầu cư trú; nếu bạn loại bỏ nó ra khỏi con đường thì bạn có thể không còn có thể chạy ngụm vv
TrueWill

5

Không thay đổi bất kỳ biến môi trường nào

Đó là trình cài đặt gây ra sự cố và không cài đặt tất cả các tệp được yêu cầu.

Tôi vừa sửa thiết lập NODEJS trên windows 7 và nó hoạt động rất tốt. Có thể bạn có thể cài đặt lại, chỉ trong trường hợp một cái gì đó không hoạt động.


4

Trên thực tế, có 2 đường dẫn đã được thêm vào Biến hệ thống của bạn khi nâng cấp lên phiên bản mới nhất của nodejs.
1. C: \ Program Files \ nodejs
2. C: \ Program Files \ nodejs \ node_modules \ npm \ bin
Đối với người dùng windows 7/8 / 8.1, họ sẽ không có GUI thông minh Windows 10 thông minh về Biến môi trường.
Dù sao, tất cả những gì bạn phải làm là tìm kiếm "C:\Program Files\nodejs\node_modules\npm\bin"và xóa nó.
Ngoài ra, xóa "C:\Users\%USERNAME%\AppData\Roaming\npm"khỏi các biến môi trường của bạn. Tôi đăng câu trả lời này vì tôi đã lãng phí 10 giờ của mình để tìm kiếm giải pháp trên internet. Bằng cách kết hợp câu trả lời ở trên, cuối cùng tôi cũng đã vượt qua được vấn đề.


4

Điều này bắt đầu xảy ra với tôi sau khi tôi cài đặt GoogleChrome / puppeteer , giải pháp là cài đặt lại npm:

$ npm i npm@latest

hoặc là

$ npm install npm@latest

2

Không có giải pháp nào ở đây phù hợp với tôi nhưng sau khi tôi khởi động lại hệ thống và thực hiện npm installlại, nó đã hoạt động. Tôi đoán một hoặc nhiều quy trình tôi đã chạy trước khi nắm giữ nó.

Khởi động lại PC đơn giản trên Windows 10 đã làm điều kỳ diệu đối với tôi!


Làm việc cho tôi là tốt! Lỗi bắt đầu có thể xảy ra sau khi cập nhật Win10
Arno van Oordt

2

Tôi đã gặp vấn đề tương tự trên windows. Tôi vừa sửa chữa Node và nó hoạt động tốt sau khi khởi động lại lệnh trên windows.


2

Tôi biết đó là một bài đăng cũ hơn nhưng khi tôi viết bài này, phiên bản của Node js là 12.13.1. Mọi người đối mặt với điều này nói chung bởi vì họ có thể đã cài đặt phiên bản Node js trước đó đã thêm phần sau vào đường dẫn hệ thống.

C: \ Program Files \ nodejs \ node_modules \ npm \ bin

Tuy nhiên, các phiên bản mới hơn cần bổ sung những điều sau: -

C: \ Program Files \ nodejs

Tôi muốn nói đường dẫn nơi bạn đã cài đặt Nodejs. Mặc định là

C: \ Program Files \ nodejs

Tuy nhiên, nếu bạn đã cung cấp một vị trí khác, bạn nên trỏ nó đến vị trí đó.


1

chỉ cần chạy lệnh này:

npm i npm@latest -g

Chào mừng bạn đến với Stack Overflow! Bạn có thể giải thích thêm về điều này có tác dụng gì và nó trả lời câu hỏi như thế nào?
nút khác,

1

npm install -g npm @ [version] đã khắc phục sự cố


1

Trên Windows 10:

  1. Nhấn phím windows, gõ chỉnh sửa các biến môi trường hệ thống rồi nhập.
  2. Nhấp vào biến môi trường ...
  3. Ở nửa dưới của cửa sổ mở ra với tiêu đề Biến môi trường ở đó, bạn sẽ thấy một bảng có tiêu đề Biến hệ thống, với hai cột, cột đầu tiên là biến có tiêu đề.
  4. Tìm hàng có Đường dẫn biến và nhấp vào hàng đó.
  5. Nhấp vào chỉnh sửa sẽ mở ra một cửa sổ có tiêu đề Chỉnh sửa biến môi trường.
  6. Đây nếu bạn tìm thấy

C: \ Program Files \ nodejs \ node_modules \ npm \ bin

chọn nó và nhấp vào nút chỉnh sửa ở bên phải của bạn, sau đó chỉnh sửa trường thành đường dẫn nơi bạn có thư mục nodejs, trong trường hợp của tôi, nó chỉ rút ngắn nó thành:

C: \ Program Files \ nodejs

Sau đó, tôi đóng tất cả các thiết bị đầu cuối cmd hoặc powershell, mở lại và npm đang hoạt động.


1

Đối với những người vẫn đang xem chủ đề này:

  • cài đặt nút từ trang web chính thức (kiểm tra npm và phiên bản nút để kiểm tra xem đã cài đặt đúng cách chưa, có trong thiết bị đầu cuối / cmd mới);
  • cài đặt nvm ngay bây giờ và khi được nhắc quản lý nút hiện tại với nvm, hãy nhấp vào có;
  • mở cmd mới và chạy nvm trên.

Bạn không cần cài đặt Node từ trang web chính thức có nvm: bạn có thể cài đặt phiên bản Node mới nhất với nvm đang chạy nvm install latest.
Marco Lackovic

0

Giải pháp cho tôi trong VS2017 (Trong Công cụ | Tùy chọn ...)

Dưới Công cụ |  Tùy chọn ...

Tôi đã thay đổi đường dẫn thành: C: \ Program Files \ nodejs


0

Tôi gặp sự cố này khi cài đặt node9.0.0 trên windows7 ở cuối giải pháp là chỉ xóa npm npm.cmd npx npx.cmd khỏi C: \ Program Files \ nodejs \ node_modules \ npm \ bin trước khi thực hiện giải pháp này là chạy C: \ Program Files \ nodejs \ npm, đó là một cách để xem bạn có gặp phải vấn đề giống như tôi gặp phải không.


0

tạo thư mục npm theo cách thủ công bên trong node_modules và chạy lại trình cài đặt với các tùy chọn sửa chữa. Nó sao chép các tệp bị thiếu.


0

Trong trường hợp của tôi, tôi đang sử dụng nvm-windows 1.1.6 và tôi đã cập nhật phiên bản nodejs của mình bằng cách sử dụng nvm install latest, điều này cuối cùng cho tôi biết rằng nodejs và npm đã được cài đặt, tuy nhiên khi tôi cố gắng thực hiện npm install, tôi nhận được

Lỗi: Không thể tìm thấy mô-đun 'C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js'

khi kiểm tra cấu trúc nvm-windows, tôi thấy rằng nó C:\Program Files\nodejsđã được liên kết tượng trưng với %APPDATA%\nvm\NODE_VERSION, (trong trường hợp của tôi là NODE_VERSION là v9.7.1) có thư mục node_moduleskhông có gì bên trong, gây ra lỗi này. Giải pháp là sao chép npmthư mục từ một trong các thư mục của phiên bản trước của tôi node_modulesvà dán nó vào. Sau đó, tôi cập nhật npm với npm install npm@next -gvà mọi thứ bắt đầu hoạt động trở lại.


0

Đối với tôi không có cách nào ở trên hoạt động, tôi chỉ nhận thấy rằng mỗi khi tôi thực hiện "npm install ..." thì bất kỳ lệnh npm nào cũng dừng hoạt động. Vì vậy, mỗi lần cài đặt tôi thực hiện, tôi phải chạy chương trình cài đặt NodeJS và chọn "sửa chữa". Cho đến khi tôi tìm thấy một giải pháp thực sự :)


Nó là tốt để bài giải pháp và chúng tôi cũng đánh giá cao this..But nó wold là tốt hơn nếu u giải thích một cách hợp lý chứ không phải nói rằng nó kỳ diệu làm việc :)
Aousaf Rashid

0

Cập nhật NPM lên phiên bản mới nhất phù hợp với tôi:

npm install npm@latest -g

0

Thay đổi biến đường dẫn môi trường C: \ Program Files \ nodejs \ node_modules \ npm \ bin và mở dòng lệnh và npm -v và


0

Hôm nay tôi gặp phải sự cố tương tự trong máy chủ Linux. Và lý do thực sự đơn giản vì tôi đã không làm make installsau đó makevà cố gắng gọi trực tiếp tệp được tạo npm. Vì vậy, PATH và mọi thứ là một mớ hỗn độn.

Vì vậy, đối với tôi, giải pháp chỉ là làm make installtheo makevà chạy phần npmdưới .node/bin/npm.


0

Lỗi: Không thể tìm thấy mô-đun 'C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ node_modules \ npm \ bin \ npm-cli.js'

Nhìn vào phần trên và rõ ràng là đường dẫn có vấn đề. 'C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ node_modules \ npm \ bin \ npm-cli.js' NÊN ĐƯỢC THAY ĐỔI THÀNH -> 'C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm -cli.js 'có nghĩa là "\ node_modules \ npm \ bin" ở giữa đã bị trùng lặp, điều này gây ra một lỗi ngu ngốc. Tôi đã sửa nó bằng cách chỉnh sửa Biến hệ thống và cập nhật PATH như được mô tả ở trên.

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.