Ionic-Firebase应用构建报错:找不到模块'../plugman/platforms/ios'求解决
解决Ionic构建时
Error: Cannot find module '../plugman/platforms/ios'问题 我之前也碰到过一模一样的问题!正如你查到的,罪魁祸首就是已经停止维护的ionic-plugin-deeplinks——它的代码是针对旧版Cordova(6.x及更早)写的,而你用的Cordova 7.1.0重构了plugman的目录结构,导致插件里的路径引用直接失效了。
下面是两种可行的解决方案,优先推荐第一种:
方案一:替换为维护中的深链接插件(长期可靠)
这是最稳妥的办法,彻底换掉停更的旧插件:
- 先卸载旧插件及其对应的Ionic Native包:
ionic cordova plugin remove ionic-plugin-deeplinks npm remove @ionic-native/deeplinks
- 安装当前仍在维护的替代插件(适配Cordova 7+),记得替换成你自己的URL_SCHEME和DEEPLINK_HOST:
ionic cordova plugin add cordova-plugin-deeplinks --variable URL_SCHEME=your-app-scheme --variable DEEPLINK_SCHEME=https --variable DEEPLINK_HOST=your-domain.com npm install @ionic-native/deeplinks@4
注意:因为你的Ionic是3.9.2版本,所以要安装
@ionic-native/deeplinks的4.x版本(5.x及以上是给Ionic 4+准备的)。
- 清理旧的平台文件,重新构建:
ionic cordova platform remove ios ionic cordova platform add ios@4.5.4 ionic cordova build ios
方案二:临时修改旧插件代码(应急用)
如果暂时不想替换插件,可以手动修改旧插件的路径引用,但不推荐长期使用(毕竟插件已经停更,后续可能出其他问题):
- 找到项目中
ionic-plugin-deeplinks的安装目录,一般在plugins/ionic-plugin-deeplinks/下。 - 找到所有引用
../plugman/platforms/ios的文件(通常是hook脚本,比如hooks/after_prepare.js)。 - 把路径替换为Cordova 7.x中plugman的实际路径,比如:
// 原路径 var iosPlatform = require('../plugman/platforms/ios'); // 修改为 var iosPlatform = require('cordova-lib/src/plugman/platforms/ios');
- 保存后重新执行构建命令即可。
内容的提问来源于stack exchange,提问作者alphapilgrim
相关产品推荐
相关产品推荐

