J'essaie de mettre en place moins de phpstorm pour pouvoir compiler des fichiers .less en .css lors de l'enregistrement. J'ai installé node.js et la prochaine étape (selon ceci https://www.jetbrains.com/webstorm/help/transpiling-sass-less-and-scss-to-css.html ) exécute cette commande dans le terminal
npm install -g less
Cependant, lorsque je fais cela, je reçois ces erreurs
☁ ~ npm install -g less
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/mkdirp/0.5.1'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/graceful-fs/3.0.8'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/extend/3.0.0'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/readable-stream/2.0.4'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/chalk/1.1.1'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/xtend/4.0.1'
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
/usr/local/lib
└─┬ [email protected]
├─┬ [email protected]
│ └── [email protected]
├── [email protected]
├── [email protected]
├─┬ [email protected]
│ └── [email protected]
└─┬ [email protected]
└── [email protected]
npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "less"
npm ERR! node v5.0.0
npm ERR! npm v3.3.6
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! at Error (native)
npm ERR! { [Error: EACCES: permission denied, access '/usr/local/lib/node_modules']
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib/node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/brentscholl/npm-debug.log
Je suis un noob complet ici et je ne sais pas quoi faire ensuite. Toute aide serait très appréciée!
L'utilisation de Sudo n'est pas recommandée. Il peut vous donner problème de permission plus tard. Bien que ce qui précède fonctionne, je ne suis pas partisan de modifier les dossiers appartenant à root pour qu’ils soient accessibles en écriture pour les utilisateurs, bien que ce ne soit peut-être un problème que pour plusieurs utilisateurs. Pour contourner ce problème, vous pouvez utiliser un groupe, avec "utilisateurs npm", mais cela représente également une charge administrative supplémentaire. Voir ici pour les options de gestion des autorisations de la documentation: https://docs.npmjs.com/getting-started/fixing-npm-permissions
Je choisirais l'option 2:
Pour minimiser les risques d'erreur liés aux autorisations, vous pouvez configurer npm pour utiliser un autre répertoire. Dans cet exemple, ce sera un répertoire caché sur votre dossier personnel.
Créez un répertoire pour les installations globales:
mkdir ~/.npm-global
Configurez npm pour utiliser le nouveau chemin de répertoire:
npm config set prefix '~/.npm-global'
Ouvrez ou créez un fichier ~/.profile et ajoutez cette ligne:
export PATH=~/.npm-global/bin:$PATH
De retour sur la ligne de commande, mettez à jour vos variables système:
source ~/.profile
Test: Téléchargez un package globalement sans utiliser Sudo.
npm install -g jshint
Si toujours afficher une erreur d'autorisation exécutée (mac os):
Sudo chown -R $USER ~/.npm-global
Cela fonctionne avec l'installation par défaut d'ubuntu:
Sudo apt-get install nodejs npm
Je recommande nvm
si vous souhaitez plus de flexibilité dans la gestion des versions: https://github.com/creationix/nvm
Sous MacOS, utilisez infusé, cela devrait fonctionner sans Sudo
prête à l'emploi si vous utilisez une version récente npm
. Prendre plaisir :)
Exécutez ces commandes dans une fenêtre de terminal (note: NE remplacez PAS la partie $ USER ... c’est une commande linux pour obtenir votre utilisateur!):
Sudo chown -R $USER ~/.npm
Sudo chown -R $USER /usr/lib/node_modules
Sudo chown -R $USER /usr/local/lib/node_modules
Réinstallez le noeud et npm avec gestionnaire de version de noeud (comme écrit dans la documentation npm ) pour éviter les erreurs d'autorisation:
Sous OSX:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
ou suivez cet article:
http://dev.topheman.com/install-nvm-with-homebrew-to-use-multiple-versions-of-node-and-iojs-easily/
Les utilisateurs de Windows doivent installer nvm-windows . Pour plus d’informations sur l’installation de nvm, reportez-vous au nvm readme .
Puis choisissez par exemple:
nvm install 8.0.0
nvm use 8.0
Maintenant, vous pouvez faire un autre essai:
npm install -g less
Réponse de Mac OS X
Vous n'avez pas d'accès en écriture au répertoire node_modules
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
Ajouter votre utilisateur au répertoire avec accès en écriture
Utilisez Sudo -i pour passer à $ root, puis exécutez npm install -g xxxx