N разрывает модуль npm

После того, как я переключился с одной версии node.js на другой с помощью n модуля - https://github.com/visionmedia/n/, мой npm...

MacBook-Pro-Dmitri:~ dmitri$ npm --version

module.js:340
    throw err;
          ^
Error: Cannot find module 'npmlog'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at /usr/local/bin/npm:19:11
    at Object.<anonymous> (/usr/local/bin/npm:87:3)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)

то я снова устанавливаю npm, как было предложено здесь - https://github.com/visionmedia/n/issues/101

curl https://npmjs.org/install.sh | sh

npm начинает работать.

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

n 0.8.22

и npm теперь снова разбивается с той же ошибкой.

Это очень раздражает.. мне нужно установить npm вручную после каждого переключения версии?!

Ответы

Ответ 1

Существуют ли разные глобальные репозитории пакетов для разных версий?

Возможно, этот пакет необходимо переустановить глобально sudo npm install -g или очистить очистку кэша управления sudo npm cache clean после переключения версий.

Ответ 2

Node и npm должны быть собраны вместе в эти дни, если вы часто меняете версию, как я. Вы можете попробовать установить node с помощью NVM

https://github.com/creationix/nvm

Это поможет вам дифференцировать пакеты в разных версиях node. Просто установите npm после переключения.

PS: Текущая версия node довольно стабильна прямо сейчас. Вы можете просто использовать текущую версию вместо 0.8.22

Ответ 3

Вы можете попробовать установить npmlog вручную: npm install -g npmlog

Ответ 4

У меня была такая же проблема и не удалось найти решение.

Похоже, что n менее поддерживается, чем nvm, поэтому я полностью удалил node после этих шагов и переустановил его с помощью nvm.

(И node теперь включает npm)

Ответ 5

У меня была такая же проблема с окнами. Я удалил node, удалил все из каталога установки и снова установил. После перезапуска командной строки я снова стал работать с npm.