我正在学习使用cordova apache制作一个混合应用程序(之前的Phonegap?)我正在按照他们推荐我们网站的步骤进行操作:
https://cordova.apache.org/docs/en/latest/guide/cli/index.html
我成功安装了nodeJS(如果我执行命令节点--version,它将返回其版本)
但是当我尝试安装cordova时,一切似乎都有效,但不是CLI。
所以:我猜CLI的配置不正确,但我不确定。有人可以帮我吗?
用于安装cordova的命令(全局):
npm install -g cordova
用于检查是否已正确安装并可从命令行访问的命令(具有给定错误):
cordova --version
module.js:340
throw err;
^
Error: Cannot find module 'c:\Program Files\nodejs\node_modules\cordova\bin\cordova'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:289:25)
at Function.Module.runMain (module.js:457:10)
at startup (node.js:138:18)
at node.js:974:3
我发现错误中的路径不存在:
c:\Program Files\nodejs\node_modules\cordova\bin\cordova
正确的路径必须是:
C:\Users\Username\AppData\Roaming\npm\node_modules\cordova\bin\cordova
我在全球系统环境中配置了此路径:
C:\Users\Username\AppData\Roaming\npm
我注意到这个文件(需要从CLI调用)
#!/bin/sh
basedir=`dirname "$0"`
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -x "$basedir/node" ]; then
"$basedir/node" "$basedir/node_modules/cordova/bin/cordova" "$@"
ret=$?
else
node "$basedir/node_modules/cordova/bin/cordova" "$@"
ret=$?
fi
exit $ret
我正在使用Windows 8
答案 0 :(得分:1)
我最近遇到了同样的问题。通过执行以下操作解决了这个问题:
npm -g install npm
npm install -g cordova
问题是与最新稳定版本的节点捆绑在一起的npm版本不支持某些软件包。
答案 1 :(得分:0)
在项目的根文件夹内的Windows中,我找到了两个文件cordova.cmd。删除这两个文件