私はnpm
のインストールを壊してしまったので、npm install
を使ってパッケージをインストールしようとすると、次のようなエラーメッセージが表示されます。
未処理の拒否エラー:EACCES:許可が拒否されました。 '/Users/marknorgate/.npm/_cacache/tmp/a449402d'を開いてください
私はノード&npmを再インストールしようとしました、そしてまた私は他の場所に私のnpmキャッシュを再配置しようとしました これらの指示 を使用します.
どうやって動かすことができますか?
このように、ユーザーのnpm関連フォルダーの所有権を現在のユーザーに復元します。
Sudo chown -R $USER:$GROUP ~/.npm
Sudo chown -R $USER:$GROUP ~/.config
Sudo chown -R $(whoami) ~/.npm
Sudo chown -R $(whoami) ~/.config
これは、npm install -gを実行しようとしたときなどに、初めてNPMを実行するときにSudoを使用した場合に発生します。
キャッシュフォルダは、rootではなく現在のユーザーが所有する必要があります。
Sudo chown -R $USER:$GROUP ~/.npm
Sudo chown -R $USER:$GROUP ~/.config
通常のユーザー権限で実行すると(Sudoとしてではなく)、これにより上記のフォルダーの所有権が付与されます。
Sudoを使ってグローバルパッケージをインストールするべきではないということも注目に値します。パーミッションに問題がある場合は、グローバルディレクトリを変更する価値があります。ドキュメントはお勧めします:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
それからあなたがそれを定義するところであなたのPATHを更新する(〜/ .profileなど)
export PATH=~/.npm-global/bin:$PATH
その後、PATH環境変数が設定されていることを確認する必要があります(端末の再起動またはsourceコマンドの使用)。
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
上記の答えは私にはうまくいきませんでした。 --unsafe-perm
を付けてコマンドを実行してみてください。
例えば
npm install -g node@latest --unsafe-perm
これで問題は解決したようです。
答えの提案がどれもうまくいかない場合は、次のことを試してください:npm cache clear —-force
。それは私のために働きました。
私は https://github.com/vuejs/vue-cli/issues/1809 でそれを見つけました。
_cache/tmp
の下に.npm
の下に手動で/Users/marknorgate/.npm/_cacache/tmp
フォルダを作成し、管理者権限でコマンドを実行するだけです。
Sudo npm cache clean --force --unsafe-perm
それからnpm私は普通に行きます
単にSudo npm cache clean --force --unsafe-perm
を実行すると、npm i
が正常に実行されます。
expoの次のコマンドを試すことができます。
Sudo chown -R $USER:$GROUP ~/.expo
Sudo npm install --unsafe-perm=true --allow-root
これは私のために働いたものでした
これは私のために働いた!