обновление npm сломалось - PullRequest
0 голосов
/ 13 мая 2018

Я просто следовал этому руководству , чтобы обновить npm (так как мой модуль камеры не работал), и запустил

npm install -g npm

, но теперь моя установка npm кажется полностью неработающей.Если я просто наберу

npm

или

npm update

, я получу

/ usr / local / lib / node_modules / npm / bin / npm-cli.js: 79 let notifier = require ('update-notifier') ({pkg}) ^^^

SyntaxError: Декларации блочной области (let, const, function, class) еще не поддерживаются вне строгого режима

Я пробовал

sudo apt-get remove npm
sudo apt-get install npm

, но переустановка не помогла.

Я думаю, что версия моего узла нуждается в обновлении с v4.8.2, но я подумалэто было возможно только с npm?

Ответы [ 5 ]

0 голосов
/ 08 августа 2019

Другие ответы не работали для меня в Ubuntu и оказались в тупике, со сломанным npm или неспособностью переустановить / обновить npm.

Радикальное решение, которое я использовал:

1 / Удалить все следы узла.Перейдите на эту страницу, используя скрипт remove.sh внизу: http://kselax.ru/en/npm-errors/

2 / Затем переустановите с нуля nodejs + npm, используя последний установочный скрипт: https://github.com/nodesource/distributions/blob/master/README.md

0 голосов
/ 24 июня 2019

Если вы используете nvm для установки npm и узла, попробуйте это решение.

  1. Узнайте, где именно используется текущий узел, и установлен npm:

    which node

    В моем случае это было /home/ubuntu/.nvm/versions/node/

  2. Теперь удалите все версии узла, используя:

    sudo rm -rf /home/ubuntu/.nvm/versions/node/

  3. Теперь вы можете использовать nvm для установки необходимой версии узла и npm.

    nvm install 4.9.1

0 голосов
/ 10 декабря 2018

(решение для centos .... я предполагаю, что это будет работать и на Ubuntu):

чтобы полностью очистить мою машину Centos, я дополнительно сделал следующее - мой пользователь "centos", а мой дом / home / centos:

sudo rm -rf /usr/local/bin/npm 
sudo rm -rf /usr/local/bin/npx
sudo rm -rf /usr/lib/node_modules/
sudo rm -rf /usr/bin/npm
sudo rm -r /usr/local/lib/node_modules/
sudo rm -rf /usr/local/bin/node
sudo rm -rf /usr/bin/npm
sudo rm -rf /usr/lib/node_modules/
rm -rf /home/centos/.npm/
rm -rf /home/centos/node*
rm -rf /home/centos/.node-gyp/
sudo rm -rf /root/.npm/
sudo rm /usr/bin/node
sudo rm -rf /usr/local/include/node

только в этот момент я заново установил:

wget http://nodejs.org/dist/latest/node-v11.4.0-linux-x64.tar.gz
sudo tar --strip-components 1 -xzvf node-v* -C /usr/local

и все снова работает:

node --version
v11.4.0
npm --version
6.4.1
0 голосов
/ 26 апреля 2019

Для тех, кто использовал Google, чтобы найти это, у вас может возникнуть желание установить через curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -, а затем установить с помощью sudo apt install nodejs.

Однако я каким-то образом столкнулся с этой проблемой.Пожалуйста, имейте в виду, что npm @ 6 отказался от поддержки узла @ <= 4, и это является важным фактором.Если вы хотите быть уверены, что все установлено в последних, правильных версиях, я очень рекомендую установить через <strong>nvm .

С помощью инструкций nvm на их GitHub : Вы можете добавить скрипт установки с помощью

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

Затем вы можете начать использовать nvm.Скорее всего, вам придется перезапустить свой терминал, поэтому после установки выйдите из терминала, запустите его снова и убедитесь, что nvm установлен с nvm --version.

Если все идет хорошо, вы можете установить любую конкретную версию.узла с нпм на буксире.Последняя стабильная версия узла на момент написания этой статьи - 10.15.3, поэтому

 nvm install 10.15.3

И, конечно, если вам нужна помощь, у nvm --help есть список опций.

0 голосов
/ 13 мая 2018

У вас, вероятно, дважды установлен npm, один в /usr/local/bin, а другой в /usr/bin.

Сначала вы можете попытаться удалить модуль npm, который был установлен, обновив npm.Попробуйте запустить это:

  • rm -r /usr/local/lib/node_modules/npm
  • /usr/bin/npm uninstall npm

После того, как у вас будет запущенная версия npm, установите более свежую версиюузел до обновления нпм.Затем удалите версию вашего дистрибутива linux.

Если первое решение не работает, другой подход заключается в установке последней версии узла (без использования npm, конечно) :

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...