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
Ma version de npm est 5.0.3 et j'ai le même problème lorsque j'utilise une commande npm:
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.
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
.
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.
Eh bien, la première chose à faire pour résoudre ce problème est
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.