【问题标题】:Can't create a cordova project, proxy issue?无法创建cordova项目,代理问题?
【发布时间】:2015-04-04 08:03:16
【问题描述】:

我正在尝试通过命令行安装cordova后创建一个项目:npm install -g cordova。安装显然很顺利,我没有收到错误,除了几个我不知道原因的警告:

npm WARN engine cordova-js@3.8.0: wanted: {"node":"~0.10.x"} (current: {"node":"0.12.0","npm":"2.5.1"})
npm WARN engine npm@1.3.4: wanted: {"node":">=0.6","npm":"1"} (current: {"node": "0.12.0","npm":"2.5.1"})
npm WARN engine xmlbuilder@2.2.1: wanted: {"node":"0.8.x || 0.10.x"} (current: {"node":"0.12.0","npm":"2.5.1"})
C:\Users\SALWA\AppData\Roaming\npm\cordova -> C:\Users\SALWA\AppData\Roaming\npm\node_modules\cordova\bin\cordova
cordova@4.3.0 C:\Users\SALWA\AppData\Roaming\npm\node_modules\cordova
├── underscore@1.7.0
├── q@1.0.1
├── nopt@3.0.1 (abbrev@1.0.5)
└── cordova-lib@4.3.0 (valid-identifier@0.0.1, osenv@0.1.0, properties-parser@0.
2.3, bplist-parser@0.0.6, mime@1.2.11, semver@2.0.11, unorm@1.3.3, shelljs@0.3.0, rc@0.5.2, dep-graph@1.1.0, d8@0.4.4, xcode@0.6.7, elementtree@0.1.5, through2@0.6.3, npmconf@0.1.16, glob@4.0.6, npm@1.3.4, request@2.47.0, plist@1.1.0, init-package-json@1.3.0, tar@1.0.2, cordova-js@3.8.0)

在此之后,我尝试使用以下命令行创建一个项目: cordova create electionscasa com.geomatic.electionscasa ElectionsCasa 但后来我得到这个错误:

Creating a new cordova project with name "ElectionsCasa" and id "com.geomatic.electionscasa" at location "C:\myApp\electionscasa"
Downloading cordova library for www...
Error: tunneling socket could not be established, cause=connect ECONNREFUSED
at ClientRequest.onError (C:\Users\SALWA\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\request\node_modules\tunnel-agent\index.js:168:17)
at ClientRequest.g (events.js:199:16)
at ClientRequest.emit (events.js:107:17)
at Socket.socketErrorListener (_http_client.js:272:9)
at Socket.emit (events.js:107:17)
at net.js:451:14
at process._tickCallback (node.js:355:11)

我一直在寻找解决此问题的方法,但我认为它与代理有关,但我找不到任何解决方案? 于是我看了一下环境变量,并没有找到:http_proxy 和 https_proxy.. 所以我添加了它们并分别设置为:

HTTP_PROXY:    http://localhost:8080
HTTPS_PROXY:    https://localhost:8080

我重新输入了前一个命令,但仍然得到同样的错误。 请帮忙,因为我遇到了这个错误并且无法继续前进.. 提前致谢!

P.S:我已经预先安装了 NodeJS,并且正在我的本地机器(不是公司)上工作,在 windows 7 下。

【问题讨论】:

  • 嗯,很奇怪。您是否通过代理(控制面板/互联网选项)运行?您是否有机会加载wireshark并查看哪个连接被拒绝?
  • 嗨@laughingpine,感谢您的回复。好吧,当我转到控制面板/互联网选项时,代理复选框未选中!我没有通过代理运行。关于 Wireshark,我会安装它,但我怎么知道哪个连接被拒绝了?
  • Wireshark 可以告诉我们哪个连接被拒绝了,这可能有帮助 - 只是一个建议 :) 再次,看起来仍然像代理问题(这很奇怪,)所以也许试一试:stackoverflow.com/questions/21166539/… -- 为了节省您的时间,platforms.js 文件位于以下路径:node_modules\cordova\node_modules\cordova-lib\src\cordova
  • @laughingpine 对我不起作用 :(!问题是我已经设置了这些环境变量。我也不知道出了什么问题。这很奇怪!我该如何解决这个问题?
  • 既然我没有通过代理运行,为什么会出现这个错误?另外,我需要设置代理吗?如何?由于我在本地主机上工作,我应该提供什么凭据?

标签: node.js cordova proxy


【解决方案1】:

你可以试试:

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

npm config set strict-ssl false

如果这似乎可行,那么它与相关服务器上的自签名证书有关。

【讨论】:

  • 感谢您的回复@Michael Blankenship。我确实尝试了这两个命令,但它们都不起作用......您认为有什么问题?
  • 至少您可以排除以下情况:1) 服务器的证书不正确或 2) 您的本地浏览器没有缺少某些授权根证书。
  • 如果我不在代理后面,我认为我不会添加与代理相关的变量。
  • @Andy “可以”和“可能”这两个词之间存在实际差异。它们都表明个人有权选择是否接受建议。后者表明对相同的有效性有所保留。
  • 是的,这是我修改格式的另一个用户建议的编辑。我会把它恢复到可能
猜你喜欢
  • 2016-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-21
  • 1970-01-01
相关资源
最近更新 更多