web-dev-qa-db-fra.com

Pourquoi la reconstruction de node-gyp échoue-t-elle sur Mac OSX El Capitan

J'ai récemment acheté un mac qui utilise Mac OSX El Capitan v10.11.4. Nœud installé avec homebrew et utilisant les nœuds v6.2.2 et npm v3.9.5. Je reçois une erreur avec bcrypt pendant npm install, qui, je crois, provient d'une erreur node-gyp rebuild. J'ai aussi récemment téléchargé xcode-select (version 2343) et xcode (7.3.1) (dans cet ordre).

Voici la sortie d'erreur complète après l'exécution de npm install:

https://Gist.github.com/varunjayaraman/5734af617d616437cd5b3456b20bc503

Pas sûr de ce qui ne va pas. Je viens de Linux et j'ai tendance à ne pas installer moi-même à la source, alors peut-être est-ce la cause de ces problèmes? Quoi qu'il en soit, tout conseil serait super apprécié. J'ai aussi vu cette erreur grandir chez d'autres, mais aucune de leurs solutions ne semblait fonctionner (quand je tape xcode-select --print-path, je reçois /Applications/Xcode.app/Contents/Developer)

8
roonie

Celui-ci vient de me mordre aussi. Il y avait deux solutions différentes, dont une seule a fonctionné pour moi.

Tout d’abord, assurez-vous que les outils de ligne de commande XCode sont installés, comme ils le disent sur leur page npm .

1) La solution la plus simple, qui n'a bien sûr pas fonctionné (même si cela semble être le cas pour certaines personnes), consiste simplement à supprimer le répertoire ~/.node-gyp. Donc, vous pourriez aussi bien tenter votre chance, supprimer votre répertoire node_modules et créer un autre npm install.

2) Essayez de désinstaller node-gyp et de le réinstaller:

Sudo npm uninstall node-gyp -g
npm uninstall node-gyp
npm install

3) Mais quel était le problème était une solution donnée dans un problème node-gyp sur github , où vous devez installer une autre version de node et installer npm de cette façon. C'est plus facile qu'il n'y paraît, mais c'est assez grossier:

Sudo npm cache clean -f
Sudo npm install -g n
Sudo n 4.4.5
Sudo npm install npm -g
Sudo npm uninstall node-gyp -g

Ensuite, essayez d’exécuter npm install.

J'espère que cela pourra aider!

10
kdazzle

Si le cache node_modules a été créé avec une version récente de Node, vous devrez peut-être supprimer le cache, revenir en arrière, puis réinstaller les packages:

rm -rf node_modules
nvm use 6
npm install
1
Brent Washburne

Si vous utilisez virtualenv pour votre python, vous devez le désactiver ou indiquer à npm d'utiliser la propre installation python 2 du système d'exploitation pour que node-gyp fonctionne.

0
Moobie