web-dev-qa-db-ja.com

npm更新チェックに失敗しました

私は実際に私の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 
12
sagar limbu

私のnpmバージョンは5.0.3であり、npmコマンドを使用すると同じ問題が発生します。

npm error message

コマンドは正常に機能していますが、このコードは明確な理由もなく表示され続けます。これらのコマンドで5.0.3から5.2.0に更新しました。

Sudo chown -R $USER:$(id -gn $USER) /home/sagar/.config

npm install -g npmまたはnpm i -g npm

現在、npmは正常に動作しています。

14
Arpit

私にはまったく同じ問題ですが、バージョンに関連していないようです(npm 5.5.1を使用しています)。 ~/.configの権限を修正することで、私にとってのトリックができました。

Sudo chown -R $USER:$(id -gn $USER) ~/.config

これは、~/.config/configstore/update-notifier-npm.jsonの所有者の問題に関連していると思います。

3
Anto

の所有者を変更しました

~/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の下にあるすべてのものに注意してください。

1
Craig Hicks

この問題を解決するために最初にできることは

  1. 隠しファイルを表示するには、フォルダ設定でオプションにチェックマークを付けていることを確認してください。
  2. .configファイルを右クリックしてプロパティを選択し、[権限]タブをクリックします。
  3. グループ内のフォルダのアクセス許可とファイルのアクセス許可|オーナー|その他は、読み取り、書き込み、および実行オプションにチェックマークを付けます。
  4. 下部にある[囲まれたファイルにアクセス許可を適用]をクリックします。
  5. 次に、これらのメッセージが表示されていたのと同じnpmコマンドを再実行してみてください。これで、永久に消えるはずです。

これが助けになったなら、あなたは何をすべきかを知っています。

注:.configフォルダー内のconfigstoreのみに同じ手順を適用することもできます。

0
Raju