我正在尝试学习离子交叉平台工具。我有设置所需的示例应用程序ionic serve
工作正常,但当我尝试运行sudo ionic build android
或sudo ionic run/emulate android
时,它返回错误消息。
Error: spawn EACCES
at exports._errnoException (util.js:746:11)
at ChildProcess.spawn (child_process.js:1162:11)
at Object.exports.spawn (child_process.js:995:9)
at Object.exports.spawn (/usr/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:103:31)
at runScriptViaChildProcessSpawn (/usr/lib/node_modules/cordova/node_modules/cordova-lib/src/hooks/HooksRunner.js:189:23)
at runScript (/usr/lib/node_modules/cordova/node_modules/cordova-lib/src/hooks/HooksRunner.js:132:16)
at /usr/lib/node_modules/cordova/node_modules/cordova-lib/src/hooks/HooksRunner.js:115:20
at _fulfilled (/usr/lib/node_modules/cordova/node_modules/q/q.js:787:54)
at self.promiseDispatch.done (/usr/lib/node_modules/cordova/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch (/usr/lib/node_modules/cordova/node_modules/q/q.js:749:13)
我无法理解其含义是什么。我有谷歌这个东西,但在应用所有这些解决方案后我得到了相同的错误。如果有人能告诉我出了什么问题,我将非常感激。
答案 0 :(得分:34)
问题在于命令010_add_platform_class.js
缺少执行权限。
您可以使用chmod +x hooks/after_prepare/010_add_platform_class.js
授予执行权限。
我在以下链接的Ionic框架论坛上找到了这个解决方案。 http://forum.ionicframework.com/t/how-to-fix-this-error-spawn-eacces/20490/6
答案 1 :(得分:4)
成功上班
chmod +x hooks/after_prepare/010_add_platform_class.js
答案 2 :(得分:4)
首先尝试为hooks文件夹(010_add_platform_class.js
)中的一个文件提供执行权限,您可以使用以下命令:
chmod +x hooks/after_prepare/010_add_platform_class.js
如果不起作用,请通过以下方式更改sdk文件夹中完整文件的权限:
chmod +x -R /home/username/Android/Sdk
如果您单独安装了gradle
,请同时授予该文件夹的权限:
chmod +x -R /home/username/Android/gradle-2.3
答案 3 :(得分:3)
如果其他修复无效,您可以尝试SELECT
m.Id
,m.Latest_rating
,MAX(CASE WHEN t.RateChangeNum = 1 THEN t.rating END) as first_rating
,MAX(CASE WHEN t.RateChangeNum = 1 THEN t.MinRatingChangeDate END) as first_rating_change_date
,MAX(CASE WHEN t.RateChangeNum = 2 THEN t.rating END) as first_rating
,MAX(CASE WHEN t.RateChangeNum = 2 THEN t.MinRatingChangeDate END) as first_rating_change_date
FROM
main m
INNER JOIN
(
SELECT
ID
,rating
,MIN(rating_change_date) as MinRatingChangeDate
,ROW_NUMBER() OVER (PARTITION BY ID ORDER BY MIN(rating_change_date)) as RateChangeNum
FROM
main_audit a
GROUP BY
ID
,rating
) t
ON m.Id = t.ID
GROUP BY
m.Id
,m.Latest_rating
答案 4 :(得分:2)
虽然给定的解决方案确实让我更进一步,但还需要为android sdk添加执行权限。
one
,
two
请参阅Error: spawn EACCES when trying to build Ionic app in Ubuntu 15.10
答案 5 :(得分:1)
我试过这个,它正在工作
chmod +x hooks/after_prepare/010_add_platform_class.js
答案 6 :(得分:-1)
尝试在您的应用文件夹中运行此功能:
ionic hooks add