Подтвердить что ты не робот

Не удается найти сообщение об ошибке модуля npmlog при использовании команды npm

Сегодня мой первый день моей первой работы и после настройки моей среды разработки, обновив node и npm на моем Mac (OSX), я, кажется, что-то сломал. Каждый раз, когда я пытаюсь использовать npm в моей командной строке (npm init, npm install и т.д.), Я получаю это сообщение об ошибке:

module.js: 339

throw err;

Ошибка: не удается найти модуль 'npmlog'

в Function.Module._resolveFilename (module.js: 337: 15)

в Function.Module._load (module.js: 287: 25)

в Module.require(module.js: 366: 17)

при требовании (module.js: 385: 17)

в/usr/local/lib/node_modules/npm/bin/npm-cli.js:20:13

в объекте. (/usr/local/lib/ node_modules/npm/bin/npm- > cli.js:76:3)

в Module._compile (module.js: 425: 26)

в Object.Module._extensions..js(module.js: 432: 10)

на Module.load(module.js: 356: 32)

в функции .Module._load (module.js: 311:12)

Не так много сообщений об ошибке, и трассировка стека не помогает мне так много. Вот что я пробовал:

  • Поиск в Stackoverflow и, несмотря на аналогичные проблемы, люди смогли использовать npm <something> для решения своей проблемы, чего я не могу сделать.
  • Удаление и переустановка npm - Не работает, потому что я не могу использовать команду npm вообще, поэтому такие вещи, как sudo npm uninstall npm -g, не работают.
  • Удален каталог npmlog из каталога .npm, а затем снова клонирован репозиторий github непосредственно в каталог.

Надеюсь, один из вас столкнулся с этим раньше или у него есть идея, как подойти к нему. Любая помощь приветствуется.

4b9b3361

Ответ 1

Вот шаги, которые мне помогли:

$ sudo rm -rf /usr/local/bin/npm
$ sudo rm -rf /usr/local/lib/node_modules/npm
$ brew uninstall node
$ brew install node

Ответ 2

Вот одна хорошая ссылка Fixing npm On Mac OS X for Homebrew Users.

со следующими командами при попытке обновить node.js под mac

rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sudo sh

Ответ 3

Попробуйте curl -0 -L http://npmjs.org/install.sh | sudo sh выполнить переадресацию. Также обратите внимание, что я добавил sudo перед командой sudo sh в зависимости от ваших прав пользователя.

Ответ 4

Я только что столкнулся с этой проблемой на Mac, и при ближайшем рассмотрении мне кажется, что проблема в том, что внутри каталога приложения Node при определенных обстоятельствах ссылка в каталоге node/bin на npm в lib/node_modules/npm/bin заменяется самим файлом, и поэтому он терпит неудачу (и почему все различные методы script исправляют его, потому что они правильно сохраняют ссылку на файл).

Если я скопирую содержимое из node-v6.9.4-darwin-x64 с помощью cp, тогда я получу эту проблему, но если я скопирую файлы с помощью Finder, то я этого не сделаю. Таким образом, вы можете исправить это путем ручного воссоздания ссылки с помощью ln, если вы не хотите использовать Finder (альтернативно, mv или rsync -a тоже могут работать, я их не тестировал).

Надеюсь, это поможет кому-то прийти сюда для этой проблемы.

Изменить: я случайно обнаружил причину проблемы на компьютерах Mac (по моему конкретному сценарию, во всяком случае): я всегда использовал cp -r для копирования каталогов. Это потому, что я стар и больше не изучаю новые вещи. Правильный способ cp -r, который правильно копирует все, как и должно быть.

Ответ 5

Я не обязательно "исправлял" проблему столько, сколько начинал. Я использовал этот пост, чтобы сделать это: Как полностью удалить Node.js и переустановить с начала (Mac OS X)

Если кто-то еще знает, как на самом деле исправить проблему или знает, что я сделал, чтобы вызвать ее, мне все равно будет очень интересно.

Ответ 6

в моем состоянии, я просто   brew uninstall node и скачать с официального сайта и работал у меня

Ответ 7

Я столкнулся с этой же ошибкой. Это было на сервере, не подключенном к Интернету. Я видел поток на Github, который упоминал, что иногда символические ссылки могут быть удалены при выполнении копий или других операций с файлами. Поэтому я нашел "find" в каталоге node для символических ссылок проблемного сервера и нигде не нашел. Выполнение этого же на рабочем сервере обнаружило символические файлы ссылок.

Я пошел в NODE_HOME/bin и сделал ls -l

Конечно, у меня был файл для npm. Выполняли те же действия на рабочем сервере, и файл npm был символической ссылкой. Чтобы исправить проблемный сервер, я выполнил следующее:

rm npm

ln -s../lib/ node_modules/npm/bin/npm-cli.js npm

Ответ 8

Получена та же ошибка при установке транспортира в REDHAT linux обновлена ​​

NPM

файл

/node -v6.10.2-Linux-x64/bin/НМП

для пути к модулю, как показано ниже:

Код до

var log = require('npmlog')

Код после

var log = require('/node-v6.10.2-linux-x64/lib/node_modules/npm/node_modules/npmlog')

Ответ 9

Для меня я запустил brew uninstall node, а затем загрузил последнюю версию из nodejs.org, и она сработала.