Cordova Apache错误的模块path
我的问题
我正在学习与cordova阿帕奇(以前Phonegap?)混合应用程序?我遵循他们推荐我们的网站的步骤:
https://cordova.apache.org/docs/en/latest/guide/cli/index.html
我成功安装了nodeJS(如果我执行命令节点–version,它将返回它的版本)
但是,当我尝试安装cordova时,一切似乎工作,但不是CLI。
所以:我猜CLIconfiguration不正确,但我不确定。 任何人都可以帮助我吗?
笔记:
-
用于安装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
-
我发现错误中的path不存在:
c:\Program Files\nodejs\node_modules\cordova\bin\cordova
-
正确的道路必须是:
C:\Users\Username\AppData\Roaming\npm\node_modules\cordova\bin\cordova
-
我在我的全局系统环境中configuration了这个path:
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
我最近面临同样的问题。 通过执行以下操作来解决它:
npm -g install npm
npm install -g cordova
问题是与最新的稳定版本节点捆绑在一起的npm版本不支持某些软件包。