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:

  1. Нажмите клавишу Windows, введите редактировать системные переменные среды и введите.
  2. Щелкните переменные среды...
  3. В нижней половине окна, которое открылось с заголовком "Переменные среды", вы увидите таблицу под названием "Системные переменные" с двумя столбцами, первый из которых назван переменной.
  4. Найдите строку с переменным Path и щелкните по ней.
  5. Нажмите "Изменить", чтобы открыть окно "Изменить переменную окружения".
  6. Здесь, если вы найдете

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 i npm@latest -g

Для парней, которые все еще ходят по этой теме:

  • установить узел с официального сайта (проверьте npm и версию узла, чтобы проверить правильность установки, да в новом терминале /cmd);
  • установите nvm сейчас и при появлении запроса на управление текущим узлом с помощью nvm нажмите "Да";
  • откройте новый cmd и запустите nvm.

npm install -g npm@[версия] исправила проблему

Сегодня я столкнулся с той же проблемой на сервере 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

как говорит другой ответ: путь как-то изменился

ситуация

  1. что-то скачивал с помощью (используя Win10)
  2. прессованный^cзаставить остановить его (потому что слишком медленно)
  3. повторная попытка -> всплывающее окно с ошибкойError: Cannot find module 'G:\nodejs\node_modules\npm\bin\npm-cli.js'

решение

  1. Найдиnpm-cli.jsфайл (с помощью программного вызоваEverything)
  2. обнаружил, что имя папки было изменено на .npm-GFyCv1zc(угадайте временный файл во время загрузки по сети)
  3. переименуйте этот файл обратно вnpm
  4. повторный запускnpm install-> работает нормально

Я пробовал все эти решения, но, к сожалению, я снова и снова получаю одну и ту же ошибку, но я нашел решение, которое отлично работает для меня. Итак, я хотел бы поделиться этим, возможно, кому-то, у кого такая же ситуация, как у меня. Я обнаружил, что причина, по которой я продолжаю получать эту ошибку, заключается в том, что в моем имени пользователя есть пробел, поэтому, чтобы решить эту проблему, обновите NVM до последней версии, которая решает проблемы с пробелами и специальными символами. по шагам ниже:

  1. Загрузите последнюю версию отсюда https://sourceforge.net/projects/nvm-for-windows.mirror/
  2. Завершите установку
  3. Перезагрузите машину

я используюnvmдля управления моими версиями nodejs, поэтому я используюnvm use 12и тогда это работает.

Для всех, кто ищет что-то вроде ошибки: не удается найти модуль 'C:\ [Путь к вашему проекту] \node_modules\ npm \bin\npm-cli.js'

Попробуйте вручную удалить (щелкните правой кнопкой мыши - удалите (отправьте в корзину)) папку node_modules в своем проекте, а затем запустите npm ci. Может быть, проблема в том, что на самом деле проект был установлен неправильно, и тогда npm ci не удалит это полностью, просто сделайте это жестко.

Решение для меня в VS2017 (в разделе Инструменты | Параметры...)

Под инструменты | Опции

Я изменил путь к: C: \ Program Files \ nodejs

Другие вопросы по тегам