2013-02-20 4 views
2

Пытается установить PhantomJS через an npm wrapper за корпоративным прокси. Я уже установить переменные http_proxy и https_proxy среды так, что НПМ будет иметь возможность общаться с реестром:phantomjs npm install не работает за прокси

export http_proxy=my-company-proxy.com:80 
export https_proxy=my-company-proxy.com:80 

Но когда дело дошло до узла install.js стадии phantomjs, я получил протокол не поддерживается ошибка:

http.js:1711 
    throw new Error('Protocol:' + options.protocol + ' not supported.'); 
    ^
Error: Protocol:my-company-proxy.com: not supported. 

ответ

1

проблема заключалась в том, что код обертки phantomjs НПМ предполагает, что прокси-информация является полным URL, а не только имя хоста. Это решает проблему:

export http_proxy=http://my-company-proxy.com:80 
export https_proxy=http://my-company-proxy.com:80 

НПМ, мерзавец, и т.д. прекрасно работают как с форматом, но для этого конкретного пакета он должен HTTP_PROXY иметь полный URL.

UPDATE: this related issue был разрешен, и теперь он может использовать ту же конфигурационную систему, что и сама npm (например, если вы использовали команду npm config), а не полагаться на переменную окружения.

+0

Это сработало после того, как я также удалил HTTP_PROXY и HTTPS_PROXY (unset HTTP_PROXY ...) – osundblad

0

Это то, что сработало для меня.

  1. Откройте терминал в качестве администратора
  2. Перейдите в папку проекта и введите следующие команды
  3. sudo npm config set proxy http://proxy_host:port -g затем
  4. sudo npm config set https-proxy http://proxy_host:port -g

Надеется, что это работает для вас. Удачи.

Смежные вопросы