我正在尝试使用我的Win8机器上的cordova cli编译我的phonegap项目。我已经更新了所有Android SDK,更新了cordova和phonegap,但我无法构建我的项目。我收到一个错误,即.cordova / hooks / any_hook为空。
我查看了该目录,看不到其中的任何文件。这些文件如何到达那里并且最新版本的cordova坏了?到目前为止,我一直在我的Mac上进行编译,因为我无法正确设置PC,所以今天我决定对它进行破解并失败。
我甚至使用CLI创建了一个新的hello world项目,但由于假定缺少钩子文件而仍无法构建该东西。任何人都对此有任何见解。?
另外,我尝试在ADMIN和常规模式下使用命令提示符。仍然没有运气。
编辑:
我正在使用phonegap 3.3.0-4.18.0
钩子的路径: Z:\ projecttitleroot \ projecttitle.cordova \钩
使用调试建立PHONEGAP的输出:
[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] compiling Android...
[error] ENOENT, no such file or directory 'Z:\myprojectroot\myproject\.cordova\hooks\before_build'
我想指出我正在使用phonegap命令来编译和运行,而不是根据最新版本的文档而不是cordova。
如果我跑:
cordova -d build android
我明白了:
Z:\myprojectroot\myproject>cordova -d build android
C:\Users\MYUSER\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:126
throw e;
^
Error: ENOENT, no such file or directory 'Z:\myprojectroot\myproject\.cordova\hooks\before_build' at Object.fs.readdirSync (fs.js:654:18)
at C:\Users\MYUSER\AppData\Roaming\npm\node_modules\cordova\src\hooker.js:64:34
at _fulfilled (C:\Users\MYUSER\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:798:54)
at self.promiseDispatch.done (C:\Users\MYUSER\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:827:30)
at Promise.promise.promiseDispatch (C:\Users\MYUSER\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:760:13)
at C:\Users\MYUSER\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:821:14
at flush (C:\Users\MYUSER\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:108:17)
at process._tickCallback (node.js:415:13)
at Function.Module.runMain (module.js:499:11)
at startup (node.js:119:16)
Z:\myprojectroot\myproject>
答案 0 :(得分:0)
确保将钩子放入hooks目录中的子目录中。
钩子的路径:Z:\ projecttitleroot \ projecttitle.cordova \ hooks \ before_build \