npm
команда удаляется после выполнения npm install -g npm
.
Это журнал:
~
% brew install node
==> Downloading https://homebrew.bintray.com/bottles/node-13.3.0_1.catalina.bottle.tar.gz
Already downloaded: /Users/manabu/Library/Caches/Homebrew/downloads/8a482358c0487b3ffeeebf4d1f3b3ca825018f6318ecdd6368fd0a6f45e0bea1--node-13.3.0_1.catalina.bottle.tar.gz
==> Pouring node-13.3.0_1.catalina.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
==> Summary
🍺 /usr/local/Cellar/node/13.3.0_1: 4,663 files, 59MB
~
% npm install -g npm
/usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm ERR! code EEXIST
npm ERR! syscall symlink
npm ERR! path ../../../lib/node_modules/npm/man/man1/npm-access.1
npm ERR! dest /usr/local/share/man/man1/npm-access.1
npm ERR! errno -17
npm ERR! EEXIST: file already exists, symlink '../../../lib/node_modules/npm/man/man1/npm-access.1' -> '/usr/local/share/man/man1/npm-access.1'
npm ERR! File exists: /usr/local/share/man/man1/npm-access.1
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/manabu/.npm/_logs/2019-12-18T07_51_00_280Z-debug.log
Я подтвердил, что это произошло снова, когда я запустил brew reinstall node
.
На самом деле, как сказано в выводе, я успешно запустил его с помощью --force
но я думаю, что просто показать эти журналы лучше, чем удалить команду npm
.
Изменить (2020/01/11):
На самом деле, как сказано в выводе, я успешно запустил его с помощью
--force
В частности, я сделал следующие шаги:
npm
которая была удалена npm install -g npm
brew reinstall node
чтобы восстановить его.npm install -g --force npm
как упомянутый результатсвязанные с изменением @isaacs в https://github.com/npm/cli/commit/320ac9aeeafd11bb693c53b31148b8d10c4165e8 npm / bin-links # 12 npm / soft -fs # 7, выпущенном в
всплыли на бугорок НПМ от 6.13.2 до 6.13.4 в доморощенного https://github.com/Homebrew/homebrew-core/commit/6acc21a27d0ba4ecfd6ebf4d77af7025143daefe#diff -d3ef2414308e30df24a517ca9a1324ee (автор / совершил по @pepyakin @fxcoudert @bayandin)
AFAICS это предполагаемое поведение в npm. Мне непонятно, как с этим поступить в домашнем пиве.
https://github.com/npm/cli/issues/672
Я сделал yarn global add npm
и он установил [email protected]
и я не обнаружил ошибки, но теперь все мои предыдущие глобальные пакеты исчезли: ((
Я отказался от домашнего пивоварения и просто использовал https://github.com/nvm-sh/nvm
Просто делать
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash
Тогда где-то в конце вы увидите
=> Compressing and cleaning up git repository
=> Appending nvm source string to /Users/aprilmintacpineda/.bash_profile
=> Appending bash_completion source string to /Users/aprilmintacpineda/.bash_profile
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Просто сделайте source <name of profile>
В моем случае <name of profile>
равно ~/.bash_profile
поэтому это будет source ~/.bash_profile
тогда
nvm install node
чтобы установить последнюю версию узла, он также установит последнюю версию npm, и это сработало для меня.
не уверен, ясно ли всем в этой теме, что решение, учитывая, что вы знаете, что делаете и почему, просто
npm i -g --force npm
(обратите внимание на флаг --force
)
Проблема в том, что после выполнения команды npm -I npm и получения сообщения об ошибке попытка выполнения любой команды npm завершилась ошибкой с 'zsh: command not found: npm', поэтому я не смог бы выполнить команду --force, даже если бы захотел. Мне пришлось заварить переустановку узла, чтобы вернуть npm.
Извините, ребята, я не полностью описал, как мне временно удалось избежать этой проблемы. Я обновил описание, пожалуйста, посмотрите.
не уверен, ясно ли всем в этой теме, что решение, учитывая, что вы знаете, что делаете и почему, просто
npm i -g --force npm
(обратите внимание на флаг--force
)
Это было единственное решение, которое я нашел, чтобы исправить это на самом деле.
Второй раз это происходит со мной через несколько недель. Вы можете исправить это с помощью brew reinstall node
.
Вот результат, который я получаю при запуске npm install -g npm
:
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
/usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
npm ERR! code EEXIST
npm ERR! syscall symlink
npm ERR! path ../../../lib/node_modules/npm/man/man1/npm-adduser.1
npm ERR! dest /usr/local/share/man/man1/npm-adduser.1
npm ERR! errno -17
npm ERR! EEXIST: file already exists, symlink '../../../lib/node_modules/npm/man/man1/npm-adduser.1' -> '/usr/local/share/man/man1/npm-adduser.1'
npm ERR! File exists: /usr/local/share/man/man1/npm-adduser.1
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/albertvilacalvo/.npm/_logs/2020-01-13T11_55_47_922Z-debug.log
Обобщенное решение:
brew reinstall node
npm i -g --force npm
Это происходит не только при установке homebrew. У меня такая же проблема с установщиком nodejs (с официального сайта). Хотя исправление работает ... (sudo npm i -g --force npm)
Обновление npm удаляет npm? И это не исправлено с декабря?
Обновление npm удаляет npm? И это не исправлено с декабря?
Да, это случилось со мной и на MacOS 10.15.2
Со мной тоже случилось. MacOS Catalina 10.15.3
Это только что случилось со мной на Ubuntu, и я не использую "brew".
В итоге я попытался переустановить npm, но без sudo я не смог установить его. Устанавливается с помощью sudo, затем обнаружено (по-видимому, плохое) руководство по возврату права собственности на каталог ~ / .npm (и еще несколько). Сначала это все еще не работало, но hash -r исправил (оглядываясь назад, перезапуск моего Ubuntu тоже мог сработать). Существует небольшая вероятность, что это также решило проблему, с которой я столкнулся с реакцией.
Об этой ошибке сообщили в 2014 году, и она произошла со мной сегодня, в 2020 году. Какая катастрофа. Это когда-нибудь будет исправлено?
Я отказался от домашнего пивоварения и просто использовал https://github.com/nvm-sh/nvm
Просто делать
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash
Тогда где-то в конце вы увидите
=> Compressing and cleaning up git repository => Appending nvm source string to /Users/aprilmintacpineda/.bash_profile => Appending bash_completion source string to /Users/aprilmintacpineda/.bash_profile => Close and reopen your terminal to start using nvm or run the following to use it now: export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Просто сделайте
source <name of profile>
В моем случае<name of profile>
равно~/.bash_profile
поэтому это будетsource ~/.bash_profile
тогда
nvm install node
чтобы установить последнюю версию узла, он также установит последнюю версию npm, и это сработало для меня.
Этого не происходит, если вы используете nvm
«Этого не происходит, если вы используете nvm»
Да, ну, этого не произойдет, если вы используете yarn
, но я не уверен, что это актуально.
Я думаю, это не имеет значения. NVM - это диспетчер версий узлов, я испытал это, когда использовал brew для установки узла, затем я переключился на nvm, с тех пор я этого еще не испытал. Посмотрите здесь, если вы не знаете, что это такое https://github.com/nvm-sh/nvm#installing -and-update
Самый полезный комментарий
Обобщенное решение: