我正在开展Cordova项目。 在我的项目目录中,如果我输入:
node -v
我得到v6.11.1
npm -v
我得到3.10.10
有时,在向项目添加新插件(例如cordova-plugin-statusbar
)之后,当我构建项目时会发生以下错误:
Discovered plugin "cordova-plugin-statusbar" in config.xml. Adding it to the project
Failed to restore plugin "cordova-plugin-statusbar" from config.xml. You might need to try adding it again. Error: Failed to fetch plugin cordova-plugin-statusbar@^2.2.3 via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
...
...
npm ERR! Darwin 16.7.0
npm ERR! argv "/Users/myuser/.nvm/versions/node/v6.11.1/bin/node" "/Users/myuser/myprojectfolder/node_modules/.bin/npm" "install" "cordova-plugin-statusbar@^2.2.3"
npm ERR! node v6.11.1
npm ERR! npm v2.15.12
npm ERR! code EPEERINVALID
所以npm版本与上面版本不同。
插件提取的问题可以与检测到的版本中的这种差异相关联吗? 为什么会这样呢?
答案 0 :(得分:0)
EPEERINVALID
表示某些软件包已过时,您必须使用-g
更新全局:
npm update -g
否则,您可以尝试重新安装cordova
和npm
:
npm uninstall -g cordova
npm uninstall
npm install
npm install -g cordova
否则,如果您也使用nvm
?因为如果有2个不同版本的npm
,您可能需要在调用npm
时更新nvm
。