web-dev-qa-db-fra.com

échec de la vérification de la mise à jour de npm

j'essayais réellement d'installer nodejs avec NPM sur mon Ubuntu 17.04. J'ai téléchargé la version linux de nodejs.org et créé un lien virtuel pour node et nodejs. après vérification de la version de nodejs, la version i est installée et tout va bien.

maintenant, j'ai essayé de faire la même chose pour NPM. J'ai essayé de créer un lien symbolique pour NPM.

 Sudo ln -sf /mnt/7A46BE1454633621/softwares/programming/frontend/nodejs/lib/node_modules/npm/bin/npm 
    /usr/bin/npm

je ne sais pas si le lien que j'ai créé est correct ou non. mais lors de l'exécution de la commande npm -v, je vois la version 5.0.3, ce que j'essaie d'installer. la version est montrée mais juste en dessous, je vois quelque chose comme ça.

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

Ma version de npm est 5.0.3 et j'ai le même problème lorsque j'utilise une commande npm:

npm error message

La commande fonctionne bien, mais ce code continue d’apparaître sans raison apparente. J'ai mis à jour de 5.0.3 à 5.2.0 avec ces commandes:

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

npm install -g npm ou npm i -g npm.

Maintenant, npm fonctionne bien.

14
Arpit

Même problème pour moi, mais ne semble pas lié à la version (j'utilise npm 5.5.1). Corriger les droits sur ~/.config m'a permis de résoudre le problème:

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

Je suppose que cela est lié à un problème de propriétaire avec ~/.config/configstore/update-notifier-npm.json.

3
Anto

J'avais changé le propriétaire de

~/configstore

et

~/configstore/update-notifier-npm.json

à $ USER: $ USER.

Mon hypothèse est que l'exécution de npm avec Sudo a créé ce fichier. Au moins sur mon système, nous trouvons ceci:

$ env | grep  -e HOME= -e "^USER="
USER=craig
HOME=/home/craig

$ Sudo env | grep  -e HOME= -e "^USER="
HOME=/home/craig
USER=root

Donc, si Sudo npm est codé pour créer ~/configstore/update-notifier-npm.json, il va le faire dans le répertoire de base de l'utilisateur ordinaire. Cela crée un problème lors de l’exécution ultérieure de npm sans Sudo qui veut également lire et peut-être écrire ~/configstore/update-notifier-npm.json. Pour une raison quelconque, les autorisations sont 600 sur les deux.

Soyez prudent lorsque chown et chmod -sous tout sous ~/.config, il pourrait y avoir quelque chose de sensible là-bas.

1
Craig Hicks

Eh bien, la première chose à faire pour résoudre ce problème est

  1. Assurez-vous que vous avez coché une option dans le réglage du dossier pour voir les fichiers cachés.
  2. Cliquez avec le bouton droit sur le fichier .config et sélectionnez Propriétés, puis cliquez sur l'onglet autorisations.
  3. Dans les autorisations de dossier et les autorisations de fichier pour le groupe | propriétaire | d'autres cochent les options lecture, écriture et exécution.
  4. EN BAS, cliquez sur Appliquer les autorisations aux fichiers joints.
  5. Maintenant, essayez de réexécuter les mêmes commandes npm où vous voyiez ces messages et maintenant, cela devrait être parti pour toujours.

Si cela vous a aidé à savoir quoi faire.

Remarque: La même procédure peut également être appliquée pour le configstore seul dans le dossier .config.

0
Raju