node.js - 衍生进程中的网络访问失败
问题描述
我正在尝试cordova prepare
像这样生成(获取和安装cordova项目依赖项):
Promise.all([
fs.ensureDir('cordova/plugins'),
fs.ensureDir('cordova/www'),
])
.then(() => runCmd('cordova prepare', {cwd: './cordova'}));
function runCmd(cmd: string, options?: SpawnOptions): Promise<void> {
const [theCmd, ...args] = cmd.split(' ');
return new Promise((resolve, reject) => {
const childProcess = spawn(theCmd, args, options);
childProcess.stdout.on('data', data => console.log(data.toString()));
childProcess.stderr.on('data', data => console.error(data.toString()));
childProcess.on('close', code => code === 0 ? resolve() : reject(cmd + ' errored with code ' + code));
});
}
但它失败了:
在 config.xml 或 package.json 中发现平台“ios@^5.0.1”。将其添加到项目中
将 cordova-fetch 用于 cordova-ios@^5.0.1
错误:无法获取平台cordova-ios@^5.0.1 这可能是连接问题,或者平台规范不正确。检查您的连接和平台名称/版本/URL。错误:npm:命令失败,退出代码 1 错误输出:npm ERR!达尔文 19.0.0 npm 错误!argv "/Users/Birowsky/.nvm/versions/node/v10.16.3/bin/node" "/Users/Birowsky/Projects/Personal/GotaGuy/gotaguy-frontend/node_modules/.bin/npm" "安装" "cordova -ios@^5.0.1" "--production" "--no-save" npm 错误!节点 v10.16.3 npm 错误!npm v2.15.12
npm 错误!无效版本:“0”npm ERR!npm 错误!如果您需要帮助,您可以在以下位置报告此错误:npm ERR!
https://github.com/npm/npm/issuesnpm 错误!请在任何支持请求中包含以下文件:npm ERR!
/Users/Birowsky/Projects/Personal/GotaGuy/gotaguy-frontend/cordova/npm-debug.log
我可能以错误的方式产生它吗?
解决方案
我cordova
在我的package.json
哪个取决于cordova-lib
哪个取决于一个非常旧的版本npm
。
我安装了最新版本,npm
问题消失了:/
推荐阅读
- java - Java 中的 SOAP 客户端可以处理 WCF 消息凭据吗
- css - 缩小页面时如何防止DIV调整自身大小?
- javascript - 遍历嵌套的'ul'并通过ajax保存数据
- unity3d - 如何在 Unity3D 中分配给一个游戏对象的两种材质之间切换?
- angular - 编译角度期间最新 rxjs 中的错误
- mysql - 更新链接表
- asp.net - ASP.NET(经典):自动注册处理所有请求(包括非托管)的 Httpmodule
- reactjs - 第二次登录
- javascript - 使用带有 TypeScript 的 redux 时如何导出没有 ownProps 的 React 组件?
- php - 在 docker 容器中运行 laravel 时找不到 autoload.php