npm-cli.js не найден при запуске npm
Обычно я могу установить библиотеку, используя npm, но сегодня при установке yeoman я столкнулся с этой ошибкой. Пожалуйста, помогите выяснить, в чем причина.
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
Я посмотрел в папку:
C: \ Program Files \ nodejs \ node_modules \ npm \ bin \
но не видите папку node_modules как описанную ошибку.
Я также пытаюсь найти npm-cli.js и посмотреть, что это на самом деле в C:\Program Files\nodejs\node_modules\npm\bin\
41 ответ
Оказывается, проблема связана с неправильным путем узла в системной переменной. Путь в настоящее время указывает на
(Я действительно не знаю, когда я изменил это)
C:\Program Files\nodejs \ node_modules \ npm \ bin
поэтому я перехожу на
C:\Program Files\nodejs
и это работает как шарм.
Я только что восстановил мою установку NodeJS, и она сработала для меня!
Идти к Control Panel\All Control Panel Items\Programs and Features
-> найти NodeJS
и выберите вариант ремонта, чтобы отремонтировать его. Надеюсь это поможет.
Вам нужно запустить это в командной строке.
SET PATH=C:\Program Files\Nodejs;%PATH%
Вы также можете иметь эту проблему, если на вашем пути у вас есть C:\Program Files\nodejs
а также C:\Program Files\nodejs\node_modules\npm\bin
, Удалить последний с пути
Скопируйте каталог с именем "npm" из пути к установленному узлу (в моем случае каталог npm был доступен в "C:\Program Files\nodejs\node_modules").
Перейдите к "C:\Users\%USERNAME%\AppData\Roaming\npm\node_modules" и вставьте туда скопированный каталог "npm".
Этот метод работал для меня, когда у меня была такая же ошибка.,,
Это не тот случай, как в вопросе, но может быть полезно для кого-то, сталкивающегося с подобной проблемой. В Windows, если вы звоните npm
Команды из некоторого CI/ средства автоматизации, вы можете столкнуться с ошибкой:
Error: Cannot find module 'SOME_PATH\node_modules\npm\bin\npm-cli.js'
где SOME_PATH
не является Program Files/...
но какой-то каталог проекта вместо. Поэтому npm пытается найти npm-cli.js внутри корневого каталога проекта, а не искать его в Program Files/nodejs
,
Причина в сценарии 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%" %*
Этот скрипт использует %~dp0
искать npm-cli.js, но некоторые инструменты автоматизации могут устанавливать рабочий каталог таким образом, чтобы %~dp0
указывает на локальный проект dir, поэтому скрипт работает некорректно.
Одним из возможных решений может быть изменение вызовов npm с этого
npm.cmd install
к этому
cmd.exe /c npm.cmd install
Я столкнулся с той же проблемой с узлом 8.5 при установке с nvm. Приведенное ниже решение работает для меня
$ 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
Это работало для меня, потому что узел 8.5 не был правильно установлен ранее с nvm. Я понял это, потому что папки и файлы "npm\bin\npm-cli.js" не были созданы внутри node_modules раньше.
Это начало происходить для меня после того, как я установил https://github.com/GoogleChrome/puppeteer, решение было переустановить npm:
$ npm i npm@latest
или же
$ npm install npm@latest
Ни один из других ответов не работал для меня.
Вот что я пишу (в оболочке git bash на windows):
PATH="/c/Program Files/nodejs/:$PATH" npm run yeoman
На Mac:
Я выполнял это из плагина внешнего интерфейса com.github.eirslett Maven, когда у меня была та же ошибка.
В конце концов мне пришлось:
Установите Node.js через установщик, скачайте здесь: http://nodejs.org/
Удалить все node/
а также node_modules/
папки в моей структуре сборки Maven.
В дополнение к вышесказанному мне пришлось удалить C:\Users\%USERNAME%\AppData\Roaming\npm
также. Это помогло.
Не меняйте переменные среды
Это был установщик, который вызвал проблему и не установил все необходимые файлы.
Я только что восстановил настройку NODEJS на Windows 7, и она работает очень хорошо. Может быть, вы можете переустановить, просто если что-то не работает.
На самом деле есть 2 пути, которые были добавлены в переменную вашей системы при обновлении до последней версии nodejs.
1. C: \ Program Files \ nodejs
2. C: \ Program Files \ nodejs \ node_modules \ npm \ bin
Для пользователей Windows 7/8/8.1 у них не будет интеллектуального графического интерфейса Windows 10 "Переменные среды".
Во всяком случае, все, что вам нужно сделать, это найти "C:\Program Files\nodejs\node_modules\npm\bin"
и удали это.
Кроме того, удалить "C:\Users\%USERNAME%\AppData\Roaming\npm"
из ваших переменных среды. Я публикую этот ответ, потому что я потратил 10 часов на поиски решения в Интернете. Комбинируя вышеупомянутый ответ, я наконец-то решил проблему.
У меня была такая же проблема на окнах. Я только что восстановил Node, и он работал нормально после перезапуска команды на Windows.
В Windows 10:
- Нажмите клавишу Windows, введите редактировать системные переменные среды и введите.
- Щелкните переменные среды...
- В нижней половине окна, которое открылось с заголовком "Переменные среды", вы увидите таблицу под названием "Системные переменные" с двумя столбцами, первый из которых назван переменной.
- Найдите строку с переменным Path и щелкните по ней.
- Нажмите "Изменить", чтобы открыть окно "Изменить переменную окружения".
- Здесь, если вы найдете
C:\Program Files\nodejs\node_modules\npm\bin
выберите его и нажмите кнопку редактирования справа от вас, затем отредактируйте поле, указав путь, по которому у вас есть папка nodejs, в моем случае он просто сокращал его до:
C:\Program Files\nodejs
Затем я закрыл все свои терминалы cmd или powershell, снова открыл их, и npm работал.
В моем случае я использовал nvm-windows 1.1.6 и обновил версию nodejs, используя nvm install latest
, который в конечном итоге сказал мне, что nodejs и npm установлены, однако, когда я попытался сделать npm install
, Я получил
Ошибка: не удается найти модуль 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
проверив структуру nvm-windows, я обнаружил, что C:\Program Files\nodejs
был связан с %APPDATA%\nvm\NODE_VERSION
, (NODE_VERSION был v9.7.1 в моем случае), который имеет папку node_modules
не имея ничего внутри, вызвало эту ошибку. Решением было скопировать npm
папка из одной из моих предыдущих версий node_modules
папку и вставьте его. Затем я обновил свой npm с npm install npm@next -g
и все снова заработало.
Ни одно из решений здесь не сработало для меня, но после перезапуска системы npm install
опять это сработало. Я бы предположил, что один или несколько процессов, которые я выполнял до этого
Простой перезапуск ПК на Windows 10 сделал волшебство для меня!
Я знаю, что это более старый пост, но пока я пишу его, версия Node js - 12.13.1. Обычно люди сталкиваются с этим, потому что они, возможно, уже установили предыдущую версию Node js, которая добавила следующее в системный путь.
C:\Program Files\nodejs \ node_modules \ npm \ bin
Однако в более новые версии необходимо добавить следующее:-
C:\Program Files\nodejs
Я имею в виду путь, по которому вы установили Nodejs. По умолчанию
C:\Program Files\nodejs
Однако, если вы указали другое местоположение, вы должны указать его на это.
Та же проблема.
Решено путем копирования недостающих файлов из
C:\Users\ Имя пользователя \AppData\Roaming\npm\node_modules\npm\bin
к
C:\Users\ Имя пользователя \ node_modules \ npm \ bin
Отсутствующие файлы:
- npm
- npm.cmd
- npm-cli.js
- npx
- npx.cmd
- npx-cli.js
Для парней, которые все еще ходят по этой теме:
- установить узел с официального сайта (проверьте npm и версию узла, чтобы проверить правильность установки, да в новом терминале /cmd);
- установите nvm сейчас и при появлении запроса на управление текущим узлом с помощью nvm нажмите "Да";
- откройте новый cmd и запустите nvm.
Сегодня я столкнулся с той же проблемой на сервере Linux. И причина действительно проста, поскольку я этого не делалmake install
после make
и попытался напрямую вызвать сгенерированный npm
. Таким образом, PATH и все было в беспорядке.
Так что для меня решение просто сделать make install
после make
и запустить npm
под .node/bin/npm
.
Создайте папку npm вручную внутри node_modules и повторно запустите программу установки с параметрами восстановления. Копирует отсутствующие файлы.
перейдите на https://nodejs.org/dist/latest-v10.x/ и загрузите zip-файл
откройте zip-файл и скопируйте node_module \ npm в C: \ Users \ foo \ AppData \ Roaming \ nvm \ v10.19.0 \ node_modules \ np
как говорит другой ответ: путь как-то изменился
ситуация
- что-то скачивал с помощью (используя Win10)
- прессованный
^c
заставить остановить его (потому что слишком медленно) - повторная попытка -> всплывающее окно с ошибкой
Error: Cannot find module 'G:\nodejs\node_modules\npm\bin\npm-cli.js'
решение
- Найди
npm-cli.js
файл (с помощью программного вызоваEverything
) - обнаружил, что имя папки было изменено на
.npm-GFyCv1zc
(угадайте временный файл во время загрузки по сети) - переименуйте этот файл обратно в
npm
- повторный запуск
npm install
-> работает нормально
Я пробовал все эти решения, но, к сожалению, я снова и снова получаю одну и ту же ошибку, но я нашел решение, которое отлично работает для меня. Итак, я хотел бы поделиться этим, возможно, кому-то, у кого такая же ситуация, как у меня. Я обнаружил, что причина, по которой я продолжаю получать эту ошибку, заключается в том, что в моем имени пользователя есть пробел, поэтому, чтобы решить эту проблему, обновите NVM до последней версии, которая решает проблемы с пробелами и специальными символами. по шагам ниже:
- Загрузите последнюю версию отсюда https://sourceforge.net/projects/nvm-for-windows.mirror/
- Завершите установку
- Перезагрузите машину
я используюnvm
для управления моими версиями nodejs, поэтому я используюnvm use 12
и тогда это работает.
Для всех, кто ищет что-то вроде ошибки: не удается найти модуль 'C:\ [Путь к вашему проекту] \node_modules\ npm \bin\npm-cli.js'
Попробуйте вручную удалить (щелкните правой кнопкой мыши - удалите (отправьте в корзину)) папку node_modules в своем проекте, а затем запустите npm ci. Может быть, проблема в том, что на самом деле проект был установлен неправильно, и тогда npm ci не удалит это полностью, просто сделайте это жестко.
Решение для меня в VS2017 (в разделе Инструменты | Параметры...)
Я изменил путь к: C: \ Program Files \ nodejs