Cordova 4.3.0在企业防火墙后面的问题

时间:2015-03-27 17:14:20

标签: cordova npm

我们在公司防火墙后面运行Cordova时遇到问题。代理。

最初我们认为此问题与此处描述的问题有关:http://wil.boayue.com/blog/2013/06/14/using-npm-behind-a-proxy/

我们发现虽然npm可以按此处所述修复,但没有修复Cordova。

我们已经将npm配置为指向我们的Sona类型存储库,但我们发现Cordova没有从npm中获取“注册表”设置,因为它在几个地方对注册表进行了硬编码。 即在lazy_load.js

// Equivalent to a command like
// npm cache add cordova-android@3.5.0
// Returns a promise that resolves to directory containing the package.
function npm_cache_add(pkg) {
    var npm_cache_dir = path.join(util.libDirectory, 'npm_cache');
    // 'cache-min' is the time in seconds npm considers the files fresh and
    // does not ask the registry if it got a fresher version.
    var platformNpmConfig = {
        'cache-min': 3600*24,
        cache: npm_cache_dir,
 //OLD       registry: 'https://registry.npmjs.org'
 //HACK
             registry: 'http://ourPrivateServer/nexus/content/repositories/npm-central/'
    };

#148行是我们必须用第149行修改的原始行。

例如,当我们执行“cordova platform add ios”时,会出现此问题。

我们想知道是否有其他人遇到过这个问题并且有更多的解决方案,因为黑客科尔多瓦的装置看起来很讨厌?

1 个答案:

答案 0 :(得分:1)

这是由git配置引起的,并将git更改为http协议

$ git config --global http.proxy http://www.yourproxy.com:port
$ git config --global https.proxy http://www.yourproxy.com:port

$ git config --global url."https://".insteadOf git://

在这些命令之后,您的.gitconfig文件(通常是您的用户文件夹)将填充此内容:

[url "https://"]
    insteadOf = git://
[http]
    proxy = http://www.yourproxy.com:port
[https]
    proxy = http://www.yourproxy.com:port

推荐的其他代理配置:

-- npm
$ npm config set proxy http://www.yourproxy.com:port
$ npm config set http-proxy http://www.yourproxy.com:port
$ npm config set https-proxy http://www.yourproxy.com:port

-- bower
$ set HTTP_PROXY=http://www.yourproxy.com:port
$ set HTTPS_PROXY=http://www.yourproxy.com:port