第一轮比赛完美无缺.一切正常,将我的开发帐户添加到Xcode帮助我的应用程序在设备上运行.我决定通过在< appname> / hooks / before_prepare文件夹中添加名为001_c.Js的“before_prepare”挂钩来增加一些东西.这是钩子开始的方式:
//This is where nodeJs exists#!/usr/local/bin nodeconsole.log("Changing config");var fs = require('fs');var path = require('path');var rootdir = process.argv[2];//and so on
当我现在构建应用程序时,我收到此错误:
pc295786:master kellster$cordova build ios Running command:
/Users/kellster/documents/apps/master/hooks/before_prepare/001_c.Js
/Users/kellster/documents/apps/master Error: spawn EACCES
at exports._errnoException (util.Js:746:11)
at ChildProcess.spawn (child_process.Js:1155:11)
at Object.exports.spawn (child_process.Js:988:9)
at Object.exports.spawn (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.Js:104:31)
at runScriptViaChildProcessspawn (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/hooks/HooksRunner.Js:188:23)
at runScript (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/hooks/HooksRunner.Js:131:16)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/hooks/HooksRunner.Js:114:20
at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.Js:787:54)
at self.promisedispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.Js:816:30)
at Promise.promise.promisedispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.Js:749:13)
要进行故障排除,我更改了钩子脚本的第一行
#!/usr/local/bin node
至
#! node
(因为这适用于windows.节点在全球范围内).但是,这导致了一个ENOENT错误:
pc295786:master kellster $cordova build ios Running command:
/Users/kellster/documents/apps/master/hooks/before_prepare/001_c.Js
/Users/kellster/documents/apps/master Error: Hook Failed with error
code ENOENT:
/Users/kellster/documents/apps/master/hooks/before_prepare/001_c.Js
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/hooks/HooksRunner.Js:194:23
at _rejected (/usr/local/lib/node_modules/cordova/node_modules/q/q.Js:797:24)
at /usr/local/lib/node_modules/cordova/node_modules/q/q.Js:823:30
at Promise.when (/usr/local/lib/node_modules/cordova/node_modules/q/q.Js:1035:31)
at Promise.promise.promisedispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.Js:741:41)
at /usr/local/lib/node_modules/cordova/node_modules/q/q.Js:557:44
at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.Js:108:17)
at process._tickCallback (node.Js:355:11)
at Function.Module.runMain (module.Js:503:11)
at startup (node.Js:129:16)
如何构建这个?我很感激我能尝试的任何建议.
有些事情需要注意:
>(在我的绝望中)我尝试运行以下命令,因为“EACCES”类型的错误.但是他们似乎都没有对结果产生任何影响.构建仍然失败.
06003
2)安装节点
解决方法 旧答案:#!/usr/local/bin node – >更好的#!/usr/bin/env节点/usr/local/bin
更新的答案:不要使用空格来引用节点可执行文件而是使用:
#!/usr/local/bin/node
还要chmod你的脚本:例如:
chmod 777 hooks/before_prepare/onde.Js
其中onde.Js是你的脚本.如果您使用的是Mac(我的情况)或linux,那么您的.Js必须在chmod 777上以避免EACCES错误.
总结以上是内存溢出为你收集整理的ios – 使用EACCES和ENOENT在OS X上运行Cordova Build失败全部内容,希望文章能够帮你解决ios – 使用EACCES和ENOENT在OS X上运行Cordova Build失败所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)