Windows上で最新バージョンのNodeとNPMを実行する必要があります。私はNode 0.5.8をインストールし、GitHubからNPMのソースをダウンロードしました。 NPMをインストールするための手順はGitHubのサイトに記載されていましたが、次のコマンドを実行すると問題が発生します。
node cli.js install npm -gf
しかし、次のエラーメッセージが表示されて失敗します。
Error: connect UNKNOWN
at errnoException (net_uv.js:566:11)
at Object.afterConnect [as oncomplete] (net_uv.js:557:18)
System Windows_NT 5.1.2600
command "...\\Node\\bin\\node.exe" "...\\npm\\cli.js" "install" "npm" "-gf"
cwd ...\npm
node -v v0.5.8
npm -v 1.0.94
code UNKNOWN
インターネットに接続するにはプロキシで認証が必要なので、これは問題だと思います。しかし、ログインに自分の認証情報を使用するようにインストーラに指示する方法はありませんでした。私のプロキシIPとログイン情報をnpmインストールに提供する可能性はあるでしょうか?おそらくコマンドライン引数を通して。
必要に応じて、Pastebinを使って完全なログを提供することができます(ただし、これ以上関連情報はないようです)。
set http_proxy
は私には本当にうまくいきましたが、コマンドプロンプトを開くたびにそれを入力しなければなりませんでした。だから私は複数の答えを組み合わせる必要がありました、そして今私のものは永久的です。
私のシーケンスは次のようになりました:
C:\Users\YourUserName
に行く.npmrc
という名前のファイルを作成します。proxy = http://domain\\username:password@ip:port
proxy = http://username:password@ip:port
npm
を使用してみます他の人達は次のような追加コマンドでさらに成功しました:
strict-ssl = false
*上記の「IP」の代わりにIPアドレスまたはプロキシへのURLを使用できるはずです。
あなたのプロキシ文字列を少し微調整する必要があるかもしれませんが、これは私がこれを毎回追加する必要がないようにしました。
乾杯
多分環境変数を設定することはあなたのために働くでしょう:
set HTTP_PROXY=http://user:[email protected]:port
(私の場合は、これで "connect UNKNOWN"が解決されますが、まったく異なる "socket hang up"エラーが発生します。HTTPS_PROXY環境変数も設定しようとしましたが、同じ結果になりました。)
私はこの同じ問題を抱えていました、そしてこれが私がこの仕事をするためにしたことです:
C:\Users\YourUserName
にアクセスしてください。.npmrc
という名前のファイルを作成します。そしてそれはエントリが読むでしょう:
registry = http://registry.npmjs.org
node cli.js install npm -gf
コマンドを再試行してください。
いくつかの調査の後、私はこのようにそれを使うことができました:
NTLM認証プロキシサーバー、またはNTLM用の別のプロキシサーバー(Cntlmなど)をインストールします。個人的には、Pythonサーバーを好むのですが、それをいじり回すことができ、パフォーマンスも問題にならないからです。
構成を設定します。私の場合は、LMモードとNTモードの両方を有効にしなければならなかったことに注意してください。そして、今日では、それが通常のケースであると思われるでしょう。
ローカルプロキシを指すようにhttp_proxyおよびhttps_proxy環境変数を設定します。
set http_proxy = "localhost:5865"
set https_proxy = "localhost:5865"
npmは今動作するはずです、もちろんそれは上の環境変数が定義されているシェルから実行されるべきです。
これをコマンドラインで入力します。
npm set proxy http://user:pass@ip:port
npm set https-proxy http://user:pass@ip:port
HTTP://をユーザー名の前に含めることを忘れないでください。それは私のために働きました。
次は私のために働いた。
Windows 7の場合
npm config set proxy xxhttp://username:password@proxyhost:port#
これで.npmrc
フォルダにC:/users/<username>
という名前のファイルが作成されます。
上記の各答えは、ユーザーが自分のパスワードをテキストファイルまたは環境変数に書き込む必要があります。
個人的に私は彼らの安全でないアプローチのためにこれらのような解決策が好きではありませんでした。そこで私は、クライアント(npm、bower、git)とプロキシの間のやり取りで現在のユーザのKerberosトークンを注入するアプリケーションを作成しようとしました。そうは言っても、Active DirectoryはKerberosの独自の実装にすぎません。
私は毎日、Windows 8.1ホスト上でこのソフトウェアを使用しています。あなたはコード(golang)と最初のリリースのバイナリを https://github.com/nilleb/authentication-proxy で見つけることができます。
この問題は、上記のように。npmrcファイルを作成し、adduserコマンドを実行してcmdプロンプトを実行することで解決しました。
npm adduser
次のコマンドを実行して、あなたが許可されたユーザー名を持っているかどうか確認してください。
npm whoami
サーバーの管理者またはサポートからプロキシのホストとポートを取得します。
設定後
npm config set http_proxy http://username:[email protected]:itsport
npm config set proxy http://username:[email protected]:itsport
パスワードに特殊文字がある場合は、%urlencodeを試してください。例: - ポンド(ハッシュ)は、%23に置き換えてください。
少なくともWindowsでは、それは私にとっては次の設定で動作します。
proxy = http://ドメイン%5Cusername:パスワード@proxy_ip:港
すなわち、(1)(他で提案されているように)%5C
の代わりに\
を使用し、(2)プロキシサーバーのローカルマシン名の代わりにIPアドレスを使用する。
3つすべてが.npmrcで私のために働きました
proxy = http://unam:pwd@Host:port
https-proxy = http://unam:pwd@Host:port
registry = http://registry.npmjs.org
CNTLMは私のために働きませんでした。私はすべての可能な組み合わせを試しました。 NPMが認証エラーを出していました。フィドラーは救助のために来て、私の時間を節約しました。インストールと設定は簡単です。 Fiddler RuleをAutomatically Authenticatedに設定します。In.npmrcを設定します。
registry=http://registry.npmjs.org
proxy=http://127.0.0.1:8888
https-proxy=http://127.0.0.1:8888
http-proxy=http://127.0.0.1:8888
strict-ssl=false
それは私のために働きました:)
私にとってうまくいったのは以下の通りです。
registry=http://registry.npmjs.org
proxy=http://<url.pac>
https-proxy=http://<url.pac>
http-proxy=http://<url.pac>
strict-ssl=false
ユーザー名やパスワードを入力する必要はなく、単にPACファイルのURLを入力するだけでした。
解決策は次のとおりです。
npm config http_proxy http://ユーザー名:パスワード@Host/IP: )ポート
npm設定プロキシhttp://ユーザー名:パスワード@ホスト/ IP:ポート
私の場合は、パラメータを値に置き換えます
ユーザー名:(空)
パスワード:(空)
ホスト/ IP:192.36.36.110
ポート:8080
だから私のコマンドは
npm config set http_proxy http://:@ 192.36.36.110:8080
npm設定プロキシ http://:@ 192.36.36.110:8080