web-dev-qa-db-fra.com

npm Sudo global installation & unsafe-perm

J'essaie d'installer un module npm avec:

Sudo npm install -g now

Cependant, quand j'essaye, je reçois un avertissement:

Avertissement! Veuillez réinstaller Now CLI avec le --unsafe-perm option.
Exemple: npm i -g --unsafe-perm now

Cette dangereuse permission m'inquiète, et je veux que ce soit clair si je dois la suivre réparer l'avertissement, ou je peux l'ignorer?

L'explication sur https://docs.npmjs.com/misc/config#unsafe-perm ne dit pas grand-chose pour moi. Ceci commenté par sam-github le 30 mars 2016 explique beaucoup plus clairement l'implication.

Cependant, même après avoir lu les deux à plusieurs reprises, je ne sais toujours pas ce que --unsafe-perm fait, et quelle est l'implication. Donc,

  • Par défaut: faux si exécuté en tant que root
  • Définissez sur true pour supprimer la commutation UID/GID lors de l'exécution des scripts de package.

Est-ce que les deux " en cours d'exécution" parlent de la même chose ou de choses différentes? Si c'est la même chose, est-ce le temps d'installation ou d'exécution?

Tout ce que je veux, c'est pouvoir

  • installez-le
  • et laisser n'importe qui dans mon système en mesure de l'utiliser, avec le moindre risque de sécurité

donc qu'est ce que je devrais faire?

7
xpt

Comme vous l'avez lu à juste titre dans nsafe-perm

  • Par défaut: faux si exécuté en tant que root, vrai sinon
  • Type: booléen

Définissez sur true pour supprimer la commutation UID/GID lors de l'exécution des scripts de package. Si elle est explicitement définie sur false, l'installation en tant qu'utilisateur non root échouera.

Pour répondre à votre première question:

Tout ce que je veux, c'est pouvoir l'installer, suivez les étapes ci-dessous.

Si vous allez utiliser Sudo pour installer now, vous devez spécifier le --unsafe-perm option pour exécuter npm comme compte root. Et vous pouvez aussi le faire directement depuis votre terminal en exécutant

Sudo npm install --unsafe-perm=true -g now

Pour répondre à votre prochaine question:

Tout ce que je veux, c'est pouvoir laisser n'importe qui dans mon système en mesure de l'utiliser, avec le moins de risques pour la sécurité

Je vous conseillerai d'exécuter votre installation de now sur l'humeur root afin que tout utilisateur puisse l'utiliser et n'aura pas la permission de le désinstaller par aucun moyen sans l'autorisation root. Alors peut-être devriez-vous ignorer la pratique régulière

2
antzshrek