首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有新M1 macs的离子cordova局部插件错误

带有新M1 macs的离子cordova局部插件错误
EN

Stack Overflow用户
提问于 2021-01-22 00:07:25
回答 1查看 3K关注 0票数 2

我们有一些本地插件,它们使用离子cordova插件add ./cordova- plugin -name添加。

当在英特尔macs上构建时,它们工作得很好,但是在新的M1 mac和Big中,我在构建项目时会出现以下错误

代码语言:javascript
复制
Discovered saved plugin "cordova-plugin-ionic-keyboard". Adding it to the project
Installing "cordova-plugin-ionic-keyboard" for ios
Adding cordova-plugin-ionic-keyboard to package.json
Discovered saved plugin "cordova-plugin-iovation". Adding it to the project
Failed to restore plugin "cordova-plugin-iovation" from config.xml. You might need to try adding it again. Error: Failed to fetch plugin file:scripts/plugin/cordova-plugin-iovation via registry. Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: npm: Command failed with exit code 1 Error output:
npm ERR!
Cannot read property 'match' of undefined
npm ERR!
npm ERR!
Discovered saved plugin "cordova-plugin-advanced-http". Adding it to the project
Failed to restore plugin "cordova-plugin-advanced-http" from config.xml. You might need to try adding it again. Error: Failed to fetch plugin file:scripts/plugin/cordova-plugin-advanced-http via re gistry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: npm: Command failed with exit code 1 Error output:
npm ERR!
Cannot read property 'match' of undefined
A complete log of this run can be found in: /Users/xx/.npm/_logs/2021-01-21T12_29_50_477Z-debug.log
npm ERR!
npm ERR!
Discovered saved plugin "call-number". Adding it to the project
Installing "mx.ferreyra.callnumber" for ios
Adding mx.ferreyra.callnumber to package.json
Discovered saved plugin "cordova-plugin-app-version". Adding it
Installing "cordova-plugin-app-version" for ios

这是一个已知的问题,我如何解决它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-22 10:40:11

看起来CLI不明白这些是本地插件,因此它尝试从注册表下载它们。这很可能是国家预防机制的问题。有些地方对cordova和npm 7不太好,我建议您运行节点v15.6.0 (最新的非lts)。

此版本通常与较新的npm (v7)捆绑在一起,但要想使其工作(直到科多瓦整理出它们的内容),您必须将npm降级到6.14.11。

我已经这样做了( sudo的使用将取决于您的环境设置):

代码语言:javascript
复制
sudo npm i -g npm

或者,您可以使用以下内容指定版本:

代码语言:javascript
复制
sudo npm i -g npm@version

以上解决方案的来源:https://github.com/apache/cordova-cli/issues/541

除此之外,我还得奋斗几个小时才能在我的M1上买到东西.

一些可能对你有很大帮助的提示:

  • Cocoapods需要安装在罗塞塔模式终端上。在安装cocoapods和在ios平台文件夹中运行installing之前,您很可能需要在同一个终端中安装ffi宝石。默认情况下存在的本机ffi创业板似乎不适用于cocoapods,
  • 必须排除arm64和x86_64体系结构仿真器在XCode中自动生成。如果不这样做,您将在build上得到缺少错误的符号。

更新:现在看来,cordova已经解决了这个问题,解决了它们的依赖关系。卸载和重新安装cordova应该使它所需的所有软件包与最新的稳定npm一起工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65837565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档