web-dev-qa-db-fra.com

Erreur "Veuillez essayer de relancer cette commande en tant que racine/administrateur" en essayant d'installer LESS

J'essaie d'installer LESS sur ma machine et j'ai déjà installé le noeud. Cependant, lorsque j'entre "node install -g less", l'erreur suivante s'affiche et je ne sais pas quoi faire.

FPaulMAC:bin paul$ npm install -g less
npm ERR! Error: EACCES, unlink '/usr/local/lib/node_modules/less'
npm ERR!  { [Error: EACCES, unlink '/usr/local/lib/node_modules/less']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/less' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 13.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "less"
npm ERR! cwd /usr/local/bin
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! path /usr/local/lib/node_modules/less
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, unlink '/usr/local/lib/node_modules/less'
npm ERR! error rolling back Error: EACCES, unlink '/usr/local/lib/node_modules/less'
npm ERR! error rolling back  { [Error: EACCES, unlink '/usr/local/lib/node_modules/less']
npm ERR! error rolling back   errno: 3,
npm ERR! error rolling back   code: 'EACCES',
npm ERR! error rolling back   path: '/usr/local/lib/node_modules/less' }
npm ERR! not ok code 0
56
Stack Overflow

Re Explosion Pills "Une installation peut exécuter des scripts arbitraires et l'exécuter avec Sudo peut être extrêmement dangereux!"

On dirait que l'utilisation de Sudo est la mauvaise façon de le faire. 

"Changez le propriétaire des fichiers de votre dossier/usr/local en utilisateur actuel:"

Sudo chown -R $USER /usr/local

Puis lancez l'installation

node install -g less

Check-out:

66
aturc

Honnêtement, c’est un mauvais conseil de npm. Une installation peut exécuter des scripts arbitraires et l'exécuter avec Sudo peut être extrêmement dangereux! Vous pourriez faire Sudo npm install -g less pour l’installer globalement, mais au lieu de cela, je vous recommande de mettre à jour vos paramètres npm:

#~/.npmrc
prefix=~/.npm_modules

Ensuite, vous pouvez mettre à jour votre chemin:

#~/.bashrc or ~/.zshrc, etc.
export PATH=$PATH:$HOME/.npm_modules/bin

Ensuite, vous n'avez pas besoin d'autorisations root pour effectuer l'installation et vous pouvez toujours utiliser le binaire.

Cela ne s'appliquerait cependant qu'à votre utilisateur. Si vous voulez que l'ensemble du système puisse utiliser le module, vous devez dire à tout le monde d'ajouter votre chemin. Des solutions plus complexes et plus robustes incluraient l'ajout d'un dossier avec des modules de nœud/fichiers binaires qu'un groupe pourrait installer et l'ajout de that au chemin de chacun.

31
Explosion Pills

Pré-ajoutez simplement Sudo au début de votre commande . Comme indiqué précédemment, une installation exécute des scripts qui peuvent être dangereux, mais j'ai constaté que l'installation globale aide beaucoup et est beaucoup plus simple.

Exécuter Sudo npm install -g less 

21
Viscount Wathika

Je continuais à avoir ce problème parce que Windows mettait mon dossier node_modules sur Readonly. Assurez-vous de décocher cela.

 enter image description here

4
Adam Hughes

Voici ce que je devais faire pour utiliser un compilateur Less afin d'éviter les problèmes mentionnés dans le PO:

  1. Installer node.js
  2. Installer NPM avec Terminal: Sudo npm install npm -g
  3. Installez un compilateur Less avec Terminal: Sudo npm install -g less (le Sudo fait toute la différence)
  4. Si vous utilisez PHPstorm: Allez dans "Préférences ...> Plugins" et installez NodeJS -plugin (vous devrez peut-être "parcourir les référentiels" pour le trouver) et redémarrez PHPstorm (comme demandé).
  5. Après cela, allez à nouveau dans Plugins: Installez le compilateur Less (vous pourriez avoir besoin de "parcourir les référentiels") et redémarrez PHPstorm (comme demandé.).
  6. Une fois que vous avez configuré un projet, allez dans "Paramètres> Outils> Observateurs de fichiers" et ajoutez "Moins". Le chemin (du "Programme") devrait ressembler à This: /usr/local/bin/lessc 
  7. Assurez-vous que Suivre uniquement les fichiers racine est coché dans les paramètres de 6.
1
cptstarling

Dans mon cas, je devais mettre à jour la version de npm de 5.3.0 → 5.4.2.

Avant de pouvoir utiliser ce -- npm i -g npm .. je devais exécuter deux commandes qui résolvaient parfaitement mon problème. Il est fort probable que cela résoudra même votre problème.

Étape 1: Sudo chown -R $USER /usr/local

Étape 2: npm install -g cordova ionic

Après cela, vous devriez mettre à jour votre npm avec la dernière version.

Étape 3: npm i -g npm

Alors tu peux y aller. Hope Cela résout votre problème .

1
Sunny Bhadani

npm a une page officielle sur résolution des autorisations npm lorsque vous obtenez l'erreur EACCES (Erreur: Accès). La page a même une vidéo.

Vous pouvez résoudre ce problème en utilisant l'une des deux options suivantes:

  1. Changez l'autorisation dans le répertoire par défaut de npm.
  2. Remplacez le répertoire par défaut de npm par un autre répertoire.
1
Thomas David Kehoe

J'ai aussi le problème. C'est ce que j'ai fait: 

  1. NodeJs désinstallé depuis le Panneau de configuration> Désinstaller un programme
  2. Il existe 2 dossiers dans les utilisateurs // appData/roaming -> dossier npm et dossier npm-cache. Supprimez les deux.

Maintenant, allez sur le site nodeJS et réinstallez-le. Sélectionnez la 2e option dans l’option d’installation (c’est-à-dire le paquet npm). Installez-le. Votre problème doit être résolu maintenant. 

0
Deadpool

Je sais que c'est une vieille question, mais aucune des solutions ne semblait être une bonne pratique, c'est pourquoi je vous explique comment j'ai résolu ce problème:

J'ai essayé de résoudre ce problème en utilisant Homebrew mais il installait également le noeud dans /usr/local directory, ce qui provoquerait à nouveau une erreur EACCES.

Je devais utiliser un gestionnaire de version tel que nvm pour plus d’informations, voir le guide officiel npm .

Pour divers système d'exploitation .

nvm installe le noeud et ses modules dans le dossier HOME FOLDER de l'utilisateur, ce qui résout les problèmes de EACCES.

0
Rick