Ошибка "Не удается найти модуль" npmlog "после" npm update -g "

У меня есть NVM 0.30.1 и он использовал его для установки node.js v5.4.0 (с NPM 3.5.4) в Fedora 22. Когда я запускаю npm update -g, я получаю следующие предупреждения:

npm WARN EBUNDLEOVERRIDE Replacing bundled npm > init-package-json with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > node-gyp with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > npm-install-checks with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > npmlog with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > read-package-json with new installed version

И после этого, когда я запускаю npm, я получаю эту ошибку:

module.js:328
    throw err;
    ^

Error: Cannot find module 'npmlog'
    at Function.Module._resolveFilename (module.js:326:15)
    at Function.Module._load (module.js:277:25)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at /home/peflorencio/.nvm/versions/node/v5.4.0/lib/node_modules/npm/bin/npm-cli.js:20:13
    at Object.<anonymous> (/home/peflorencio/.nvm/versions/node/v5.4.0/lib/node_modules/npm/bin/npm-cli.js:76:3)
    at Module._compile (module.js:398:26)
    at Object.Module._extensions..js (module.js:405:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)

Кто-нибудь знает, что это такое и как его решить?

Спасибо

Ответ 2

Похоже, что npm update -g не может обновить npm до последней версии. Я решаю проблему, обновляя установку npm вручную.

  • Установите/переустановите node, чтобы получить связанный номер npm
  • запустить npm install -g [email protected] для обновления глобальной установки npm
  • теперь npm update -g должен работать

Ответ 3

Для меня это было

sudo rm -rf /usr/local/lib/node_modules/

а затем снова установите node (с номером npm).

Ответ 4

init-package-json, node -gyp, npm-install-checks, npmlog, read-package-json установлены неправильно. Не знаю, почему.

Не удалось найти основную причину проблемы, но я использовал хакерский способ установки вышеперечисленных пакетов:

  • Вернитесь к предыдущей версии node, которую npm не обновил. Например, nvm use iojs
  • cd, где npm установлен, например, cd /home/peflorencio/.nvm/versions/node/v5.4.0/lib/node_modules/npm, и переустановите такие пакеты, как rm -rf node_modules/init-package-json && npm install init-package-json и т.д.

Ответ 5

Я столкнулся с той же проблемой на своем ПК с Windows 10. Изучив решения, поскольку я не смог найти точное решение проблемы, с которой я столкнулся Не удается найти модуль 'npmlog' Я просто удалил node js, а затем удалил как "npm", так и "npm-cache" в "C:\Users\YourPCName\AppData\Roaming"

Затем я загрузил последнюю версию node из Node JS Website

И, установленный node js

После этого я проверил путь в переменных среды.

Наконец, запустите командную строку "запустить как администратор" и npm install npm -g

Проверка вашей версии покажет последнюю версию. 'npm -v'

Я получил последнюю версию - v3.10.9

Попробуйте это. это должно работать.

Ответ 6

Если люди с Linux сталкиваются с проблемой, вот решение:

С даты этого сообщения версия NPM, упакованная с помощью Nodejs, не работает. Если вы установили этот пакет, запустите

sudo rm -rf /usr/local/bin/npm
sudo apt-get install node
sudo mv /usr/bin/npm /usr/local/bin/npm

Новая версия должна быть 3.10.8, а старая ошибка отсутствует