Ошибка получения сообщения об ошибке: порождать EACCES с использованием IONIC Framework
Я пытаюсь изучить инструмент с ионной кросс-платформой. У меня есть настройка, требуемая, например, приложение 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)
Я не могу понять, что это значит. У меня есть Google, но после того, как я применил все эти решения, я получил такую же ошибку. Я очень благодарен, если кто-нибудь скажет мне, что со мной не так.
Ответы
Ответ 1
Проблема заключается в том, что команда 010_add_platform_class.js
отсутствует разрешение на выполнение.
Вы можете использовать chmod +x hooks/after_prepare/010_add_platform_class.js
, чтобы предоставить разрешение на выполнение.
Я нашел это решение на форуме Ionic framework по ссылке ниже.
http://forum.ionicframework.com/t/how-to-fix-this-error-spawn-eacces/20490/6
Ответ 2
Успешно работает
chmod +x hooks/after_prepare/010_add_platform_class.js
Ответ 3
Вы можете попробовать ionic hooks add
, если другое исправление не работает
Ответ 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
Ответ 5
Хотя данное решение сделало еще один шаг, добавление разрешений на выполнение для android sdk также было необходимо.
chmod +x -R /home/username/Android/Sdk
см. Ошибка: вызвать EACCES при попытке создания приложения Ionic в Ubuntu 15.10
Ответ 6
Я пробовал это, он работал
chmod +x hooks/after_prepare/010_add_platform_class.js
Ответ 7
Попробуйте запустить это в папке вашего приложения: