45

node.jsをインストールしようとしています。私はこのチュートリアルに従いましたが、途中で立ち往生しています。

cygwinターミナルに書き込む./configureと、「cygwinはサポートされていません」と表示されます。よろしくお願いします。

4

8 に答える 8

45

私の経験では、ノードはcygwinで正常に動作しますが、ノードで通常EINVALエラーが発生するのは、デフォルトでcygwinであるターミナルエミュレーションの「スキン」であるMINTTYのようです。これらのEINVALエラーが100%発生する理由はまだわかりませんが、ノードを機能させるために使用する手順とコツは次のとおりです。

/cygwin/home/{username}/.bashrcで、cygwinが見つけられるようにパスにノードを追加します

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

32ビットバージョンのノードを実行する場合:

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

次に、WindowsなしでLinuxの問題に対してnpmを実行するには、管理モードでcygwinを起動してから、次のコマンドを実行します。

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

この時点で、実行中のファイルとほとんどのnpmパッケージはMINTTYで問題なく実行されますが、特定のnpmパッケージをカルマとして使用するとEINVALの問題が発生することがあります。また、私が実行するこれらのことを実行したいときはいつでも、MINTTYで直接インタープリターを実行することはできません。

cygstart /bin/bash

これにより、ネイティブのcygwin bash.exeウィンドウが開きます。ここから、インタープリターまたはEINVALになる問題のあるパッケージコマンドを実行します。これをしなければならないのは少し残念ですが、私はこの日を毎日使うことはめったになく、MINTTYが大好きで使わないようにしています。

また、次のようなものを実行するだけで、MINTTYで任意の1行のノードコードを実行できることにも注意してください。

node -e "console.log('hello node')"
于 2014-04-19T13:28:15.960 に答える
9

NPMパッケージのインストールを検討している人のためのトロイの答えのより単純な派生物として:

  1. Windowsインストーラパッケージを使用してNode.jsをインストールします。
  2. でPATHに追加しexport PATH=$PATH:"/cygdrive/c/Program Files/nodejs/"ます(明らかに、Node.jsのインストールディレクトリへのパスをインストールした場所に置き換えます)。
  3. Windowsバージョンには現在のバグがあり、を実行することで修正できますmkdir -p ~/AppData/Roaming/npm。これは、Cygwinだけでなく、すべてのWindowsのバグです。将来のある時点で、これを行う必要はなくなりますが、コマンドに悪影響が生じることはありません。
  4. 試して。例:npm install pretty-diff -g
  5. 新しくインストールしたソフトウェアを実行できるようにするには、インストール場所をPATHに追加する必要があります。npm bin -gこれらはandで見つけることができますnpm bin-gフラグは「グローバル」インストール場所です)。

Cygwinで実行するために必要な特別なことは何もありません(すべてが機能するかどうかはわかりませんが)。

于 2014-12-14T21:47:02.823 に答える
5

Console2を使用すると、CLIシェルのタブの作成を実行できます。console2内でcygwinを実行すると、ノードREPLを問題なく使用できるようになります。理由がわかりません:P

このガイドに従って、cygwinをconsole2に追加します:http:
//blog.msbbc.co.uk/2009/11/configuring-console-2-and-bash-with.html

于 2013-07-02T03:17:03.687 に答える
0

Bjørnの提案(Console2を使用)とSoyukaのエイリアス(ここでの手順)により、私のnode.jsv0.10.13とnpmv1.3.2は、Cygwinディストリビューションである Babunv1.02で動作するようになりました。ここに画像の説明を入力してください

于 2014-12-15T17:07:56.850 に答える
0

Windowsの場合は、cmdでbash.exeを実行するだけで、cmdコンソールでbashを直接回避できます。これにより、すべてのノードが完全に機能するようになります。

C:\Users\郷>bash

郷@CHIGIX ~
$ node
>
于 2015-02-22T17:16:02.190 に答える
0

私はこのラッパーを使用しています/usr/local/bin/node(拡張子はありません!)

#!/bin/sh

_cmd="$(cygpath -lw -- "$1" )"
shift

"/proc/cygdrive/C/Program Files/nodejs/node.exe" "$_cmd" "$@"

NodeはCygwinディレクトリツリーを理解しないため、これは完璧にはほど遠いですが、相対名では比較的うまく機能します。

于 2020-03-02T13:38:55.843 に答える
-1

Windowsから、(Cygwin Terminalの代わりに)Cygwin.batを実行し、その実行ノードで実行します。この効果的な回答について 1。5年後に尋ねられた同じ質問を参照して返信してください。

于 2014-05-11T03:59:47.440 に答える
-3

node.jsWindowsインストーラーを取得して実行します。
Cygwinプロンプトnode
で「それが機能するかどうかを確認してください」と入力します。

于 2012-04-06T14:27:38.053 に答える