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 install -g npm
によって削除されたnpm
コマンドを復元しますbrew reinstall node
を実行して復元しましたnpm install -g --force npm
を実行します中@isaacs「変更に関連https://github.com/npm/cli/commit/320ac9aeeafd11bb693c53b31148b8d10c4165e8にリリースNPM / binにリンク#12 NPM /優しい-FS#7 [email protected]
自作で6.13.2から6.13.4にNPMのバンプによって浮上https://github.com/Homebrew/homebrew-core/commit/6acc21a27d0ba4ecfd6ebf4d77af7025143daefe#diff (執筆/ @pepyakin @fxcoudert @bayandinによってコミット)-d3ef2414308e30df24a517ca9a1324ee
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
フラグに注意してください)
これは私が実際にこれを修正するために見つけた唯一の解決策でした。
これは数週間で2回目です。 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
これは、自作のインストールだけで発生するわけではありません。 nodejsインストーラー(公式サイトから)でも同じ問題が発生します。 ただし、修正は機能します...(sudo npm i -g --force npm)
npmを更新するとnpmが削除されますか? そしてそれは12月以来修正されていませんか?
npmを更新するとnpmが削除されますか? そしてそれは12月以来修正されていませんか?
うん、それはMacOS10.15.2でも私に起こった
私にも起こった。 MacOS Catalina 10.15.3
これはUbuntuで起こったばかりで、「brew」は使用していません。
結局npmを再インストールしようとしましたが、sudoなしではインストールできませんでした。 sudoとともにインストールされ、〜/ .npmディレクトリ(および他のいくつか)の所有権を取り戻すための(明らかに悪い)ガイドが見つかりました。 最初はまだ機能しませんでしたが、hash -rで修正されました(振り返ってみると、Ubuntuの再起動も機能した可能性があります)。 これにより、react-snapで発生していた問題も修正された可能性がわずかにあります。
このバグは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-updatingが何であるかわからない場合は、ここで確認してください
最も参考になるコメント
解決策の要約は次のとおりです。