Подтвердить что ты не робот

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)

Спасибо за помощь

4b9b3361

Ответ 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

Проблема заключалась в разрешении каталога и пользователя. Я создал проект в домашнем каталоге, и он работал.