私は実際に私のubuntu 17.04にnpmとともにnodejsをインストールしようとしていました。 nodejs.orgからLinuxバージョンをダウンロードし、nodeとnodejsのソフトリンクを作成しました。 nodejsのバージョンを確認すると、インストールされているバージョンが表示され、問題ありません。
今、私はnpmにも同じことをしようとしました。 npmのソフトリンクを作成しようとしました。
Sudo ln -sf /mnt/7A46BE1454633621/softwares/programming/frontend/nodejs/lib/node_modules/npm/bin/npm
/usr/bin/npm
作成したリンクが正しいかどうかわかりません。しかし、npm -v
コマンドを実行すると、バージョン5.0.3が表示されます。これは、インストールしようとしているものです。バージョンが表示されますが、そのすぐ下に次のようなものが表示されます。
5.0.3
npm update check failed │
│ Try running with Sudo or get access │
│ to the local update config store via │
│ Sudo chown -R $USER:$(id -gn $USER) /home/sagar/.config
私にはまったく同じ問題ですが、バージョンに関連していないようです(npm 5.5.1を使用しています)。 ~/.config
の権限を修正することで、私にとってのトリックができました。
Sudo chown -R $USER:$(id -gn $USER) ~/.config
これは、~/.config/configstore/update-notifier-npm.json
の所有者の問題に関連していると思います。
の所有者を変更しました
~/configstore
そして
~/configstore/update-notifier-npm.json
$ USER:$ USERに。
Sudoでnpm
を実行すると、そのファイルが作成されたと思います。私のシステムでは、少なくともこれが見つかります。
$ env | grep -e HOME= -e "^USER="
USER=craig
HOME=/home/craig
$ Sudo env | grep -e HOME= -e "^USER="
HOME=/home/craig
USER=root
Sudo npm
が~/configstore/update-notifier-npm.json
を作成するようにコーディングされている場合、通常のユーザーのホームディレクトリで実行されます。後でnpm
なしでSudo
を実行すると、~/configstore/update-notifier-npm.json
を読み書きしたい場合に問題が発生します。何らかの理由で、両方のアクセス許可は600です。
chown
およびchmod
-~/.config
の下にあるすべてのものに注意してください。
この問題を解決するために最初にできることは
これが助けになったなら、あなたは何をすべきかを知っています。
注:.configフォルダー内のconfigstoreのみに同じ手順を適用することもできます。