2

尝试在公司代理后面通过npm 包装器安装PhantomJS 。我已经设置了 http_proxy 和 https_proxy 环境变量,以便 npm 本身能够与注册表通信:

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

但是当谈到 phantomjs 的 node install.js 阶段时,我得到了一个 Protocol not supported 错误:

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

2 回答 2

1

问题是 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 本身相同的配置系统(例如,如果你使用 npm config 命令)而不是依赖于环境变量。

于 2013-02-20T18:28:15.577 回答
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

希望这对你有用。祝你好运。

于 2017-07-05T09:06:04.543 回答