Ubuntu18.04使用Npm安装framework7与cordova报EMISSINGARG错误怎么办
问题原因
- 系统存在多版本Node.js共存冲突:你手动查询到的v10.24.1是用户级Node版本管理工具(如nvm、n)安装的版本,而全局执行npm安装命令时,系统优先调用了apt源默认安装的全局旧版Node.js v8.10.0(路径为
/usr/bin/node),配套npm版本为v3.5.2,不满足cordova@10.0.0要求的Node.js >=10.0.0的依赖规则,因此触发版本不兼容报错。 - 报错码
EMISSINGARG是旧版本npm无法解析新npm包的新增依赖参数导致的语法类错误。
解决方案
方案一:临时切换到用户级高版本Node执行安装
如果高版本Node通过nvm安装,先执行切换命令再安装:
nvm use default npm i framework7-cli cordova -g
如果是其他版本管理工具安装,直接指定高版本npm的绝对路径执行安装即可。
方案二:替换系统全局Node为高版本
首先卸载系统默认的旧版Node和npm:
sudo apt remove nodejs npm -y sudo apt autoremove -y
将当前在用的高版本Node、npm软链接到系统全局路径:
sudo ln -s $(which node) /usr/bin/node sudo ln -s $(which npm) /usr/bin/npm
验证版本是否匹配:
node -v npm -v
确认输出为v10.24.1和6.14.12后,重新执行安装命令:
npm i framework7-cli cordova -g
内容的提问来源于stack exchange,提问作者Cleber Castiglioni
相关产品推荐
相关产品推荐

