我目前正在尝试在Openshift上使用Node。 Openshift使用node@v4.4.2和npm@2.15.1在Docker容器中构建我的应用程序。 使用节点4构建映像时,在docker build期间运行npm install时出现以下错误:
1 util.go:91] npm info attempt registry request try #1 at 05:10:18
1 util.go:91] npm http request GET https://my.customregistry.com/foo/api/npm/bar/babel-core
1 util.go:91] npm ERR! Linux 3.10.0-327.13.1.el7.x86_64
1 util.go:91] npm ERR! argv "/opt/rh/rh-nodejs4/root/usr/bin/node" "/opt/rh/rh-nodejs4/root/usr/bin/npm" "install" "-d"
1 util.go:91] npm ERR! node v4.4.2
1 util.go:91] npm ERR! npm v2.15.1
1 util.go:91]
1 util.go:91] npm ERR! Request path contains unescaped characters.
1 util.go:91] npm ERR!
1 util.go:91] npm ERR! If you need help, you may report this error at:
1 util.go:91] npm ERR! <https://github.com/npm/npm/issues>
最初我在node@v0.10.40上使用npm@2.14.13运行构建,其中安装有效,但我们的应用程序没有:P为什么我现在正在尝试当前的LTS版本的节点。 (其他版本在Openshift上不可用)
我的研究让我相信这个问题与代理设置有关,但它们似乎是通过Openshift正确设置的。在运行npm install之前,以下输出位于日志中:
1 util.go:91] npm info config set "proxy" "http://our.awesome.proxy.com:8888"
...
...
1 util.go:91] npm info config set "https-proxy" "http://our.awesome.proxy.com:8888"
不幸的是npm install
始终使用-d
标志执行,覆盖通过env变量设置的日志级别设置。
我是否不知道必须在节点4中设置任何其他代理设置?