Ответ 1
Попробуйте удалить /usr/local/lib/node_modules/npm
и заново установить узел. Это должно работать.
На MacOS с Homebrew:
sudo rm -rf /usr/local/lib/node_modules/npm
brew reinstall node
Я всегда получаю это сообщение об ошибке при запуске "Ионическое имя запуска проекта":
Running command - failed![ERROR] An error occurred while running npm install (exit code 1):
module.js:471
throw err;
^
Error: Cannot find module '../lib/utils/unsupported.js'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:79:3)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
Попробуйте удалить /usr/local/lib/node_modules/npm
и заново установить узел. Это должно работать.
sudo rm -rf /usr/local/lib/node_modules/npm
brew reinstall node
Я следовал предыдущим ответам и переустанавливал узел. Но я получил эту ошибку.
Предупреждение: шаг после установки не завершился успешно. Вы можете повторить попытку с помощью
brew postinstall node
Итак, я запустил эту команду
sudo chown -R $(whoami):admin /usr/local/lib/node_modules/
Потом побежал
brew postinstall node
Я получил аналогичную ошибку, и теперь она работает.
Сначала убедитесь, что у вас установлена последняя версия
brew update
Удалите предыдущий экземпляр node:
brew uninstall node
Затем переустановите последнюю версию:
brew install node
И затем удостоверьтесь, что он привязан к /usr/local, если он еще не был. Вы получите сообщение об ошибке, чтобы сообщить об этом, чтобы завершить этот шаг.
brew link --overwrite node
Более подробная информация о том, как установить/обновить node также доступна.
В Mac OS X (10.12.6) я решил эту проблему, выполнив следующие действия:
brew uninstall --force node
brew install node
Затем я получил сообщение об ошибке, что произошел сбой узла postinstall, и перезапустить brew postinstall node
Я тогда получил ошибку:
permission denied @ rb_sysopen /usr/local/lib/node_modules/npm/bin/npx
Я решил эту ошибку:
sudo chown -R $(whoami):admin /usr/local/lib/node_modules
И теперь я больше не получаю эту ошибку.
Если вы используете библиотеку "n" @https://github.com/tj/n. Сделайте следующее
echo $NODE_PATH
Если путь к узлу пуст, то
sudo n latest - sudo is optional depending on your system
После переключения версий Node.js с помощью n, npm может работать некорректно.
curl -0 -L https://npmjs.com/install.sh | sudo sh
echo NODE_PATH
Теперь вы должны увидеть свой путь к узлу. Иначе, это может быть что-то еще
Как уже упоминалось ранее.
sudo rm -rf /usr/local/lib/node_modules/npm
brew uninstall --force node
brew install node
Просто скачайте узел с официального сайта, у меня это сработало! :)
Да, вы должны переустановить узел:
sudo rm -rf /usr/local/lib/node_modules/npm
brew uninstall --force node
brew install node
Я получил эту ошибку, смешав методы установки/обновления: установил узел через загрузку пакета с веб-сайта, а позже я использовал brew для обновления.
Я исправил, удалив версию Brew:
brew uninstall --ignore-dependencies узел
Затем я вернулся на сайт узла и скачал и установил через менеджер пакетов: https://nodejs.org/en/download/. По какой-то причине попытки переустановки через brew не сработали.
Просто выполните три шага;
npm
очистить кэш npm
:
npm cache clean -f
Установите пакет n
глобально, используя npm
:
npm install -g n
Установите один из трех вариантов:
а. sudo n stable (get the stable version)
б. sudo n latest (get the latest version of node)
с. sudo n xxx (get the specific version of node)
В моем случае не было $NODE_PATH:
NODE="/home/ubuntu/local/node" #here your user account after home
NODE_PATH="/usr/local/lib/node_modules"
PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$NODE/bin:$NODE/lib/node_modules"
Для проверки только echo $NODE_PATH
empty означает, что он не установлен. Добавьте их в .bashrc.
На fedora 27 я решил проблему, выполнив это:
sudo rm -f /usr/local/lib/node_modules/npm
sudo dnf reinstall nodejs
Это полезное видео и запись в блоге об удалении узла из операционной системы вашего компьютера. Это другой метод удаления, основанный на том, как вы сначала установили узел (brew против бинарного файла, загруженного с https://nodejs.org/en/
если вы установили узел с Homebrew, то будет работать узел удаления brew. Проверьте это, запустив команду node -v
в своем терминале.
В противном случае, если вы установили двоичный файл с веб-сайта nodeJS, вы должны выполнить эту команду в своем терминале: sudo rm -rf/usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}
. Опять же, проверьте это с помощью команды node -v.
В обоих случаях успешное удаление узла должно привести к тому, что bash не распознает, что это за узел, если он полностью удален
В моей macOS (10.13.3) я решил ее после переустановки менеджера версий Node.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
source ~/.bashrc
Перепробовал все выше/старые ответы по установке Brew, ни один не работает для моего ноутбука.
Только ниже метод может решить мою проблему.
1) Запустите следующие команды:
sudo rm -rf /usr/local/lib/node_modules/npm
brew uninstall --force node
2) Затем перейдите на официальный сайт Node.js https://nodejs.org/en/download/current/, чтобы загрузить последний пакет для новой установки.
3) Снова запустите команду npm, в которой больше не должно быть ошибок.
Этот метод работает на MacOS Mojave версии 10.14.4.