PhoneGap - приложение phonegap phonegap дает ошибку компиляции на Linux
Я получаю сообщение об ошибке при создании приложения Android phonegap на моем Linux (ubuntu 12.04).
Я установил nodejs, установил на путь JAVA_HOME, ANT_HOME, ANDROID_HOME и $JAVA_HOME/bin, $ANT_HOME/bin, $ANDROID_HOME/tools, $ANDROID_HOME/платформенные инструменты. когда я запускаю команду phonegap local build android
, я получаю следующую ошибку:
[email protected]:/dos/PhoneGap/HelloWorld$ phonegap local run android
[phonegap] compiling Android...
[error] An error occurred while building the android project.
module.js:340
throw err;
^
Error: Cannot find module 'shelljs'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/dos/PhoneGap/HelloWorld/platforms/android/cordova/lib/build.js:22:15)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
Спасибо за помощь
Ответы
Ответ 1
вы должны
$cordova platform remove android
$cordova platform add android
потому что в
отсутствует каталог.
платформы/Android/Cordova/node_modules/shelljs
или вы можете создать другое приложение и скопировать отсутствующий файл и добавить его в свое приложение
Недавно решение
в терминале перейдите в свое приложение
затем
cd platforms/android/cordova
sudo npm install shelljs
он отлично работает со мной
Ответ 2
Я уже установил shelljs:
sudo npm install shelljs -g
Но мне нужно было установить NODE_PATH
export NODE_PATH=/usr/local/lib/node_modules
Не уверен, почему он не пропал...
Ответ 3
Мне нужно было обновить движок cordova-android (от 3.5.1) до 3.6.0 (потому что это требуется плагином splashscreen, здесь)
Чтобы создать проект Android (и вытеснить указанные выше ошибки), я добавил в файл package.json
(корневой папки проекта Кордовы) следующие зависимости npm:
"dependencies": {
"q": "^1.2.0",
"shelljs": "^0.4.0",
"which": "^1.0.9"
}
Ответ 4
Я получал то же самое сообщение об ошибке в OS X 10.9 для моего Android-приложения phonegap. Проблема заключалась в том, что я неправильно установил свою переменную JAVA_HOME
. Как только это было правильно, мне нужно было удалить и добавить платформу Android в кордову. Возможно, это может быть вашей проблемой, так вот как я ее исправил:
В моем файле .zshrc добавлена строка export JAVA_HOME=$(/usr/libexec/java_home)
Наконец, мне пришлось удалить платформу и снова добавить ее, чтобы кордова правильно использовала java.
$cordova platform remove android
$cordova platform add android
Примечание. При устранении неполадок я установил JDK, который может потребоваться.
Ответ 5
Я предлагаю вам убедиться, что установлены необходимые библиотеки:
sudo npm install -g cordova gulp
Ответ 6
Проблема заключалась в разрешении каталога и пользователя. Я создал проект в домашнем каталоге, и он работал.