web-dev-qa-db-ja.com

TypeError:要求パスにエスケープされていない文字が含まれています

私は次を使用してnode.jsモジュールをインストールしようとします:

npm install express

しかし、私はこのエラーを受け取ります:

npm http GET https://registry.npmjs.org/express
npm ERR! TypeError: Request path contains unescaped characters.
npm ERR!     at Agent.request (_http_agent.js:264:11)
npm ERR!     at TunnelingAgent.exports.request (http.js:52:22)
npm ERR!     at TunnelingAgent.createSocket (/usr/local/lib/node_modules/npm/node_modules/request/node_modules/tunnel-agent/index.js:117:25)
npm ERR!     at TunnelingAgent.createSecureSocket [as createSocket] (/usr/local/lib/node_modules/npm/node_modules/request/node_modules/tunnel-agent/index.js:184:41)
npm ERR!     at TunnelingAgent.addRequest (/usr/local/lib/node_modules/npm/node_modules/request/node_modules/tunnel-agent/index.js:80:8)
npm ERR!     at new ClientRequest (_http_client.js:112:16)
npm ERR!     at Agent.request (_http_agent.js:279:10)
npm ERR!     at Object.exports.request (https.js:130:22)
npm ERR!     at Request.start (/usr/local/lib/node_modules/npm/node_modules/request/index.js:594:30)
npm ERR!     at Request.end (/usr/local/lib/node_modules/npm/node_modules/request/index.js:1186:28)
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Linux 3.6.11-7.fc16.x86_64
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "express"
npm ERR! cwd /usr/local/src/node
npm ERR! node -v v0.11.5-pre
npm ERR! npm -v 1.3.5
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /usr/local/src/node/npm-debug.log
npm ERR! not ok code 0

プロキシを使用している可能性がありますこの方法で設定したプロキシを使用して、ネットワーク外のIPからのダウンロードを許可します

export https_proxy='http://172.21.0.12:3128'

あなたが私を助けてくれることを願っています

33
Walter Caraza

コマンドラインからプロキシを設定します。

npm config set proxy http://proxydomain:port/

まだエラーが発生している場合は、さらに試してください。

npm config set registry http://registry.npmjs.org/

これらは私のために働きます。 (参照 http://sushichop.blogspot.jp/2013/01/npm-install.html

59
smokycat

Linuxではnodejs(4.1.1に)とnpm(1.4.xのようなものに)を更新した後、十分に遅かったのですが、これにもぶつかりました。

提案された解決策を試しましたが、レジストリエントリを変更してもすべての場合に役立つわけではありません。最後に、npmを再インストールすることに決めたとき、この更新ソースを見つけました[npm github] [1]

curl -L https://www.npmjs.org/install.sh | sh

これにより、npmが3.3.8に更新され、関連するすべてのパッケージインストールの問題が吹き飛ばされました。

2
bo.