tutorial - yeoman angularjs



npm/yeoman installer générateur-angulaire sans sudo (4)

J'ai essayé d'installer generator-angularjs en utilisant Yo ( Yoeman ) sans sudo :

npm install -g generator-angular

Je reçois:

Error: EACCES, mkdir '/usr/lib/node_modules/generator-angular'

Quand je tape sudo yo , yo me dit que je ne devrais pas utiliser sudo (ce qui est parfaitement compréhensible).

J'ai un répertoire ~/node_modules - pourquoi n'y installe-t-il pas ses paquets?

https://src-bin.com


Answer #1

De la page de démarrage de yoeman apparaît la commande:

yo doctor

Dans mon cas, $ NODE_PATH (qui dans mon cas, Ubuntu 14.04, est défini dans /etc/profile.d) n'est pas la même que la racine npm. L'ajout de la racine npm dans $ NODE_PATH résout le problème.


Answer #2

Grâce à @passy, ​​j'ai finalement réussi à travailler sur ubuntu 13.04 (au cas où quelqu'un aurait des problèmes de configuration similaires) avec ce qui suit:

sudo apt-get update
sudo apt-get install python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

essayant de courir:

npm install -g yo

a abouti à

Error: EACCES, mkdir '/usr/lib/node_modules/yo'

Correction en utilisant:

echo prefix = ~/.node >> ~/.npmrc
echo 'export PATH=$HOME/.node/bin:$PATH' >> ~/.bashrc 
. ~/.bashrc

Fonctionnement:

yo webapp

a abouti à:

Error: EACCES, permission denied '/home/username/.config/configstore/update-notifier-yo.yml'

Correction en utilisant:

sudo chown yourusername:yourusername /home/yourusername/.config/configstore/update-notifier-yo.yml

Answer #3

J'ai eu une erreur presque identique impliquant un fichier .yo-rc.json dans mon répertoire racine à partir d'un projet que j'ai installé plus tôt. Yeoman basculait cwd du répertoire d'installation vers le répertoire racine à mi-chemin de l'installation, mais ne fournissait que l'erreur d'autorisations EACCESS sans aucun détail que le répertoire d'installation était / . Il a fallu du temps pour comprendre pourquoi c'était le cas, et j'ai dû déboguer à travers la source Yeoman, mais j'ai finalement appris que Yeoman regarderait à travers l'arborescence jusqu'à trouver un .yo-rc.json , et générer le code en appelant chdir au nouvel emplacement.

Yeoman devrait peut-être vérifier que l'utilisateur a des permissions d'écriture pour le répertoire. Alternativement, il pourrait mentionner dans la sortie soit que le cwd a changé, soit imprimer le nom du répertoire d'installation si le .yo-rc.json est différent de cwd.

La commande pour rechercher des fichiers .yo-rc.json non autorisés

sudo find / -name .yo-rc.json


Answer #4

salut dans mon cas (sur Ubuntu 12.04), l'ajout du préfixe dans ~ / .npmrc n'a rien changé.

Si c'est le cas, créez le paquet de nœuds par vous-même et installez-le dans / opt / node ou /home/user/.node .





yeoman