Подтвердить что ты не робот

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

Может случиться, что я использую прокси-сервер, я настроил его таким образом, чтобы разрешить загрузку с ips за пределами моей сети.

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

Надеюсь, ты поможешь мне.

4b9b3361

Ответ 1

Установить прокси-сервер из командной строки.

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

Если ошибка еще не началась, добавьте следующую попытку.

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

Эти работы для меня. (ref http://sushichop.blogspot.jp/2013/01/npm-install.html)

Ответ 2

Хотя и достаточно поздно, я столкнулся с этим также после обновления nodejs (до 4.1.1) и npm (к чему-то вроде 1.4.x) в Linux.

Я пробовал предлагаемое решение, но изменение реестра не помогло во всех случаях. Наконец, решив переустановить npm, я нашел этот источник обновления [по npm github] [1]

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

который обновил мою версию npm до 3.3.8, и все связанные с этим проблемы с установкой пакета были удалены.