web-dev-qa-db-ja.com

プラットフォームの追加時にApacheCordovaが構文エラーをスローする

私はIonic Frameworkを使い始めようとしてきましたが、そのステップの1つはCordovaのインストールです。

Sudo npm install -g cordova

これは問題なく動作します。次に、iOSとAndroidプラットフォームの両方を追加する必要がありますが、しようとするとエラーが発生します:

iOS:

benedict@prometheus:/var/www/ionic/hello$ Sudo cordova platform add ios
Creating ios project...
/home/benedict/.cordova/lib/ios/cordova/3.4.0/bin/create: 33: /home/benedict/.cordova/lib/ios/cordova/3.4.0/bin/create: Syntax error: "(" unexpected
Error: /home/benedict/.cordova/lib/ios/cordova/3.4.0/bin/create: Command failed with exit code 2
    at ChildProcess.whenDone (/usr/lib/node_modules/cordova/src/superspawn.js:112:23)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:743:16)
    at Process.ChildProcess._handle.onexit (child_process.js:810:5)

Android:

benedict@prometheus:/var/www/ionic/hello$ Sudo cordova platform add Android
Creating Android project...

/home/benedict/.cordova/lib/Android/cordova/3.4.0/bin/node_modules/q/q.js:126
                    throw e;
                          ^
Error: An error occurred while listing Android targets
    at /home/benedict/.cordova/lib/Android/cordova/3.4.0/bin/lib/check_reqs.js:87:29
    at _rejected (/home/benedict/.cordova/lib/Android/cordova/3.4.0/bin/node_modules/q/q.js:808:24)
    at /home/benedict/.cordova/lib/Android/cordova/3.4.0/bin/node_modules/q/q.js:834:30
    at Promise.when (/home/benedict/.cordova/lib/Android/cordova/3.4.0/bin/node_modules/q/q.js:1079:31)
    at Promise.promise.promiseDispatch (/home/benedict/.cordova/lib/Android/cordova/3.4.0/bin/node_modules/q/q.js:752:41)
    at /home/benedict/.cordova/lib/Android/cordova/3.4.0/bin/node_modules/q/q.js:574:44
    at flush (/home/benedict/.cordova/lib/Android/cordova/3.4.0/bin/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:415:13)
Error: /home/benedict/.cordova/lib/Android/cordova/3.4.0/bin/create: Command failed with exit code 8
    at ChildProcess.whenDone (/usr/lib/node_modules/cordova/src/superspawn.js:112:23)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:743:16)
    at Process.ChildProcess._handle.onexit (child_process.js:810:5)

Cordovaを再インストールしようとしましたが、役に立ちませんでした。問題が何であるかについて何か考えはありますか?

1
Benedict Lewis

IOSエラーについてはよくわかりません(Linuxでサポートされていますか?-「cordovaプラットフォームリスト」を実行すると、使用可能なプラットフォームのリストに含まれません)。おそらく追加のインストールとApple開発者証明書が必要です。

Androidエラー-あなたはそれを修正することができるはずです:

Antインストールが「ant-version」に応答していることを確認してください。

Linuxで必要なパスを設定するためにこの回答を見て、ファイルエクスプローラーですべてのパスを再確認してください: https://stackoverflow.com/a/21142421

パスを適用するには、必ずログアウト/ログインしてください。

また、「echo $ PATH」を使用して、パスが正しいと思うものであることを確認してください。

1
jimasp