UPDATE 1:

这就是我最后所做的一切:

sudo aptitude install -y python-software-properties python g++ make
sudo add-apt-repository -y ppa:chris-lea/node.js
sudo aptitude update
sudo aptitude install nodejs
sudo aptitude install npm
sudo npm install -g cordova
sudo npm install -g phonegap
phonegap create my-app
cd my-app
export PATH=${PATH}:/home/oshirowanen/Downloads/adt-bundle-linux-x86_64-20131030/sdk/platform-tools:/home/oshirowanen/Downloads/adt-bundle-linux-x86_64-20131030/sdk/tools
sudo aptitude install ant
cordova platform add android
android create avd --name my_and --target 1
phonegap run android

这些都不是必须的吗?


ORIGINAL QUESTION:

在我的Ubuntu 12.04计算机上,我刚刚安装了node.与npm和cordova合作的js:

$ node -v
v0.10.23

$ npm -v
1.3.17

$ cordova -v
3.3.0-0.1.1

当我try 添加android时:

$ cordova platform add android

我得到以下输出:

Creating android project...

/usr/lib/node_modules/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error: An error occured during creation of android sub-project. 

/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:126
                    throw e;
                          ^
Error: An error occurred while listing Android targets
    at /home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/lib/check_reqs.js:87:29
    at _rejected (/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:808:24)
    at /home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:834:30
    at Promise.when (/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:1079:31)
    at Promise.promise.promiseDispatch (/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:752:41)
    at /home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:574:44
    at flush (/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:415:13)

    at /usr/lib/node_modules/cordova/src/platform.js:244:30
    at ChildProcess.exithandler (child_process.js:641:7)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Socket.<anonymous> (child_process.js:948:11)
    at Socket.EventEmitter.emit (events.js:95:17)
    at Pipe.close (net.js:466:12)

有人知道为什么会发生这种情况,以及如何解决它吗?

我对PhoneGap也有同样的问题.

推荐答案

Android工具二进制文件可能不在您的路径中.

根据PhoneGap文档(http://docs.phonegap.com/en/2.9.0/guide_getting-started_android_index.md.html),您需要在PATH环境变量中包含Android SDK的toolsplatform-tools.

导出路径=${PATH}:/Development/adt bundle/sdk/platform tools:/Development/adt bundle/sdk/tools

其中Development是您安装SDK的路径.

Node.js相关问答推荐

如何使用updateMany()和Node.js的方法?

Express 4.18正文解析

Twilio-获取呼叫录音不起作用的请求

如何在 ElectronJS 中播放音频文件

为什么 Cors 在 NodeJS 中不起作用

如何在 JavaScript 中显示多维数组中使用的一维数组的变量名?

Amplify 部署的应用程序出现TypeError: handler is not a function错误,但它在本地运行

Typescript :泛型类又扩展了另一个泛型类

Electron 模板(Typescript + Webpack)中的这个 Electron Forge ERROR 是什么?

访问 Mongoose 查询之外的变量

使用 Forms API 进行批量更新时生成 itemId

如何更新 MongoDB 中对象数组中的键?

Cypress net::ERR_EMPTY_RESPONSE 在真实服务器调用上

为什么我会收到错误:解决方法指定过多?

Puppeteer:如何提交表单?

使用 node 的内置调试器判断变量?

当我try 向我的 S3 存储桶 (Node.js) 发送内容时,AWS 缺少凭证

我应该如何在 webpack 中使用时刻时区?

如何创建安全(TLS/SSL)Websocket 服务器

Node.js 中的 PHP exit()/die() 类似功能是什么