Bower ne peut pas fonctionner - bower ESUDO ne peut pas être exécuté avec sudo

43

Je reçois le message d'erreur suivant lorsque je lance bower:

bower ESUDO Cannot be run with sudo

Le truc, c'est que je ne cours pas avec sudo. La commande que je lance est:

bower install foo

ou

bower search cats

Je suis connecté en tant que root à un serveur Ubuntu 12.04 mais je n'utilise pas sudo. Ce qui donne? Comment puis-je faire fonctionner Bower?

Lothar_Grimpsenbacher
la source
Veuillez envisager de mettre à jour la réponse acceptée.
Binyomin Trager

Réponses:

74

J'ai eu le même problème. Tout ce que vous avez à faire est d’ajouter --allow-rootà votre commande.

Voir ce numéro.

Binyomin Trager
la source
22

Cela ne fonctionnera pas si c'est un script que quelqu'un d'autre a écrit et qui se plaint (comme si c'était souvent le cas avec Docker, par exemple).

Dans ce cas, vous devez vous assurer que la commande suivante est exécutée avant bower:

# echo '{ "allow_root": true }' > /root/.bowerrc

Voir ici pour une explication plus détaillée: https://stackoverflow.com/questions/25672924/run-bower-from-root-user-its-possible-how

DMCoding
la source
Dans mon cas, je devais faire ce echo '{ "allow_root": true }' > ~/.bowerrcqui est probablement plus flexible.
Johannes Brodwall
5

Le problème était que, bien que bower ne fonctionne pas avec sudo, il ne fonctionnera pas non plus si vous êtes connecté en tant que root. Vous devez créer un utilisateur et vous connecter avec cela pour le faire fonctionner.

Lothar_Grimpsenbacher
la source
2

Utilisez le --allow-rootdrapeau:

sudo bower --allow-root <comand> 
Miguel Cardenas
la source