web-dev-qa-db-fra.com

Paquet indésirable lorsqu'il est installé localement

J'essayais d'installer phantomjs afin de make testTwitter Bootstrap . Après l’avoir installé localement, c.-à-d. npm install phantomjs, il a été signalé que le colis était étranger.

├─┬ [email protected] extraneous
│ ├── [email protected]
...
npm ERR! extraneous: [email protected] /Users/admin/bootstrap/node_modules/phantomjs
npm ERR! not ok code 0

Cependant, lorsque phantomjs a été installé globalement, c'est-à-dire npm install phantomjs -g, cela a bien fonctionné, c’est-à-dire qu’aucune erreur extérieure n’a été signalée.

Des questions:

  1. Est-ce parce que phantomjs non spécifié dans le package.json fichier ?
  2. Question générale: pouvons-nous avoir un paquet quelconque, par exemple phantomjs installé globalement et également localement?
59
moey
  1. Oui. (Réinstallation avec npm install ne réinstallera pas phantom.js.) (Btw .: npm install xxx --save ajoutera automatiquement xxx au package.json)
  2. Oui. Les versions de paquets locales sont préférées aux versions globales. (Bien que vous ayez besoin de quelques chemins pour gérer les exécutables.)
78
TheHippo
  1. phantomjs devrait être inclus dans votre paquet .json local (en le modifiant manuellement ou en utilisant la commande --save, voir la réponse de TheHippo). S'il est installé quelque part et que vous n'en avez pas besoin, utilisez la commande Prune

    npm Prune

supprime tous les paquets non requis.

  1. Pour installer un élément localement et globalement, utilisez:

    Sudo npm install -g phantomjs

9
Jamil Abdallah