我正在构建一个混合移动应用程序(Cordova),我正在尝试在iOS上运行我的构建。
我已按照此documentation中的步骤设置连接的Mac,我可以看到当我尝试在visual studio中构建代码时,Mac终端会响应。
我的问题是,当我使用remotebuild --secure false
启用远程构建服务器时,我在visual studio输出中出现以下错误(注意终端正在响应来自visual studio的构建请求,但随后失败并出现错误) :
无法建立与http://192.168.1.10:3000/cordova的非安全连接。验证构建服务器是否未以安全模式运行。
以下是带有和输出的Mac终端活动:
Last login: Tue Aug 18 19:31:21 on ttys001
IBRAHIM-ALHUSSAINs-Mac-mini:~ IBRAHIMALHUSSAIN$ remotebuild --secure false
remotebuild
Copyright (C) 2014 Microsoft Corporation. All rights reserved.
1.0.1
Warning: No server modules selected. Defaulting to configuration "modules": {"taco-remote": { "mountPath": "cordova"} }
Build Retention initialized with baseBuildDir /Users/IBRAHIMALHUSSAIN/.taco_home/remote-builds/taco-remote/builds, maxBuildsToKeep 20
Initialized BuildManager with baseBuildDir /Users/IBRAHIMALHUSSAIN/.taco_home/remote-builds/taco-remote/builds; maxBuildsInQueue 10; deleteBuildsOnShutdown true; allowsEmulate true; nextBuildNumber 423
Remote build server listening on [http] port 3000
express deprecated req.host: Use req.hostname instead ../../usr/local/lib/node_modules/remotebuild/lib/server.js:257:81
GET /modules/taco-remote 200 14.494 ms - 7
New build request submitted:
/build/tasks?command=build&vcordova=4.3.0&cfg=debug&loglevel=warn
{ 'accept-language': 'en-US',
host: '192.168.1.10:3000',
connection: 'close',
'transfer-encoding': 'chunked' }
POST /cordova/build/tasks?command=build&vcordova=4.3.0&cfg=debug&loglevel=warn - - ms - -
npm ERR! Darwin 14.3.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "taco-remote-multiplexer"
npm ERR! node v0.12.4
npm ERR! npm v2.13.4
npm ERR! code ENOTFOUND
npm ERR! errno ENOTFOUND
npm ERR! syscall getaddrinfo
npm ERR! network getaddrinfo ENOTFOUND registry.npmjs.org
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly. See: 'npm help config'
npm ERR! Please include the following file with any support request:
npm ERR! /Users/IBRAHIMALHUSSAIN/.taco_home/node_modules/taco-remote-multiplexer/latest/npm-debug.log
我记得在某个地方读过我应该启用安全版本然后禁用它以初始化远程服务器安全配置。每当我尝试以安全构建模式remotebuild
运行时,我都会收到此错误:
无法建立与https://192.168.1.10:3000/cordova的安全连接。验证构建服务器是否以安全模式运行。
我还尝试通过重新创建PIN,生成并重置证书来解决此问题。
如何解决此问题?
答案 0 :(得分:4)
从您包含的控制台输出中,看起来您的mac无法访问npm存储库:
npm ERR! network getaddrinfo ENOTFOUND registry.npmjs.org
说明行
New build request submitted
表示visual studio已成功连接到remotebuild服务器并已发送了要构建的项目。作为构建项目的一部分,remotebuild动态获取一些npm软件包,以确保它是面向未来的,并且可以使用多个不同版本的Cordova。
如果您不能或不愿意让您的mac看到npm存储库,那么可以提供您自己的替代函数来确定要加载哪个包来实际构建项目。
我强烈建议不要这样做,但这是删除功能的最简单方法:
在有权访问npm的计算机上,“npm install taco-remote-lib”下载为remotebuild执行cordova构建的默认包,然后在“npm install cordova @< version>”中对于您打算使用的单个版本。打开taco-remote-lib / ios / iosBuild.js并替换
TacoPackageLoader.lazyRequire(“cordova”,“cordova @”+ cordovaVersion,buildInfo.logLevle).done(function pkg){ cordova = pkg;
与
cordova = require("cordova");
并删除您删除的函数末尾的“},function(err){[...]})”。
module.exports.getPackageToServeRequest = function (request) {
return require("/path/to/copied/taco-remote-lib");
}
{
"modules": {
"taco-remote": {
"requirePath": "taco-remote",
"mountPath": "cordova",
"redirector": "/path/to/myRedirector.js",
}
}
}
这应该使用自定义请求重定向器启动remotebuild,该重定向器使用您的自定义修改的taco-remote-lib包来构建所有请求。
这不会尊重VS为构建指定的cordova版本,因为这需要能够根据需要从NPM下载这些版本。
答案 1 :(得分:0)
也许是因为操作系统有沙盒系统
答案 2 :(得分:0)
在我的情况下,我有"'"用我的mac的名字。一旦我删除"'"。
,它确实通过主机名连接