现象
最近使用ionic native开发应用,使用了cordova-plugin-webserver插件。
官网文档提供命令安装,一切正常(实际不正常,开始没发现)。
npm install cordova-plugin-webserver
npm install @ionic-native/web-server
ionic cap sync
实际编译运行的时候发现开启服务失败,错误信息是“plugin_not_installed”。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLyMTOxETMwEjMzIDNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
排查
后来反复操作发现,运行“ionic cap cync”命令的时候,没有显示“cordova-plugin-webserver”。查看“node_modules”目录发现“cordova-plugin-webserver”目录里面只有个“package.json”,其他什么都没有。到此基本可以判断安装出了问题。
最后google发现解决方案(参考:https://github.com/bykof/cordova-plugin-webserver/issues/34)。
结论
原来这个插件根本没有完全发布到npm上,因此通过“npm install cordova-plugin-webserver”命令无法正常安装。解决办法是直接通过github地址安装。
ionic cordova plugin add https://github.com/bykof/cordova-plugin-webserver.git
或者
npm i https://github.com/bykof/cordova-plugin-webserver.git
参考资料:plugin_not_installed on android #34·bykof/cordova-plugin-webserver