phantomjs npm安装在代理后面失败
试图在企业代理后面通过npm包装来安装PhantomJS 。 我已经设置了http_proxy和https_proxy环境variables,以便npm本身能够与registry进行通信:
export http_proxy=my-company-proxy.com:80 export https_proxy=my-company-proxy.com:80
但是当谈到phantomjs的node.js阶段时,我得到一个Protocol不支持的错误:
http.js:1711 throw new Error('Protocol:' + options.protocol + ' not supported.'); ^ Error: Protocol:my-company-proxy.com: not supported.
问题是phantomjs npm包装代码假定代理信息是一个完整的url,而不仅仅是一个主机名。 这解决了这个问题:
export http_proxy=http://my-company-proxy.com:80 export https_proxy=http://my-company-proxy.com:80
npm,git等可以很好地处理这两种格式,但是对于这个特定的包,它需要HTTP_PROXY才能有一个完整的URL。
更新: 这个相关的问题已经解决,现在它可以使用与npm本身相同的configuration系统(例如,如果你使用npmconfiguration命令),而不是依赖于环境variables。
这是为我工作。
- 以pipe理员身份打开terminal
- 导航到您的项目文件夹并input以下命令
-
sudo npm config set proxy http://proxy_host:port -g
then -
sudo npm config set https-proxy http://proxy_host:port -g
希望这对你有用。 祝你好运。