web-dev-qa-db-fra.com

Node.js Cygwin non pris en charge

J'essaie d'installer node.js. J'ai suivi ce tutoriel et je suis coincé au milieu.

Quand j'écris ./configure dans mon terminal cygwin, il est écrit "cygwin non pris en charge". Veuillez m'aider Merci d'avance.

43
Mj1992

D'après mon expérience, le nœud fonctionne bien dans cygwin, ce qui Node a généralement des erreurs EINVAL dans semble être MINTTY qui est une "peau" d'émulation de terminal par défaut pour cygwin. Je ne sais toujours pas pourquoi ces Les erreurs EINVAL se produisent à 100%, mais voici les étapes et les astuces que j'utilise pour faire fonctionner le nœud.

Dans mon /cygwin/home/{username}/.bashrc j'ajoute un nœud au chemin pour que cygwin puisse le trouver

export PATH=$PATH:"/cygdrive/c/Program Files/nodejs/"

Si vous exécutez une version 32 bits du nœud:

export PATH=$PATH:"/cygdrive/c/Program Files (x86)/nodejs/"

Ensuite, pour faire fonctionner npm sans fenêtres sur les problèmes linux, je lance cygwin en mode administrateur, puis je lance:

dos2unix '/cygdrive/c/Program Files/nodejs/npm'

À ce stade, l'exécution des fichiers et de la plupart des packages npm fonctionnera très bien dans MINTTY, bien que de temps en temps vous rencontrerez des problèmes EINVAL avec certains packages npm comme karma. De plus, vous ne pourrez pas exécuter l'interpréteur directement dans MINTTY, chaque fois que je veux faire ces choses que je lance:

cygstart /bin/bash

Cela ouvrira une fenêtre native cygwin bash.exe, à partir de là, vous exécutez l'interpréteur ou une commande de package troublante qui se traduit par un EINVAL. Ça craint un peu que vous ayez à le faire mais j'utilise rarement ce jour-là, et j'aime trop MINTTY pour ne pas l'utiliser.

Notez également que vous pouvez exécuter n'importe quel code de nœud de ligne dans MINTTY en exécutant simplement quelque chose comme:

node -e "console.log('hello node')"
44
troy

Comme dérivé plus simple de la réponse de troy pour ceux qui cherchent simplement à installer des packages NPM:

  1. Installez Node.js avec le package d'installation de Windows.
  2. Ajoutez-le au CHEMIN avec export PATH=$PATH:"/cygdrive/c/Program Files/nodejs/" (en remplaçant évidemment le chemin du répertoire d'installation de Node.js par celui où vous l'avez installé).
  3. Il existe un bogue actuel dans la version Windows qui peut être corrigé en exécutant mkdir -p ~/AppData/Roaming/npm. Il s'agit d'un bogue pour l'ensemble de Windows et pas seulement pour Cygwin. À un moment donné, vous n'aurez plus à faire cela, mais la commande ne devrait pas avoir d'effets secondaires négatifs.
  4. Essaye-le. Par exemple, npm install pretty-diff -g.
  5. Afin de pouvoir exécuter le logiciel nouvellement installé, vous devrez ajouter les emplacements d'installation à votre CHEMIN. Vous pouvez les trouver avec npm bin -g et npm bin (les -g flag est l'emplacement d'installation "global").

Pas vraiment quelque chose de spécial que vous devez faire pour le faire fonctionner dans Cygwin (même si je ne peux pas dire si tout fonctionne).

9
Kat

Utilisez Console2, il vous permet d'exécuter des onglets de création de shells CLI. Il semble que l'exécution de cygwin dans console2 me permette d'utiliser node REPL très bien. Je ne sais pas pourquoi: P

Suivez ce guide pour ajouter cygwin à console2:
http://blog.msbbc.co.uk/2009/11/configuring-console-2-and-bash-with.html

5
Petter Thowsen

Pour Windows, exécutez simplement bash.exe dans cmd, de sorte que vous puissiez avoir un bash à contourner directement avec la console cmd, qui pourrait prendre en charge TOUT NŒUD FONCTIONNANT PARFAITEMENT.

C:\Users\郷>bash

郷@CHIGIX ~
$ node
>
1
千木郷

Avec la suggestion de Bjørn ( en utilisant Console2 ) et l'alias de Soyuka ( étapes ici ), mes node.js v0.10.13 et npm v1.3.2 fonctionnent maintenant sous Babun v1.02, une distribution de Cygwin. enter image description here

0
xjlin0