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版本不支持某些软件包。