无法构建cordova项目,PATH错误

McL*_*ive 8 linux android cordova

cordova build从我的app目录运行时出现以下错误

[Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually. Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.] ERROR building one of the platforms: Error: /home/shakir/Documents/myapp/platforms/android/cordova/build: Command failed with exit code 2 You may not have the required environment or OS to build this project Error: /home/shakir/Documents/myapp/platforms/android/cordova/build: Command failed with exit code 2 at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:139: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)

我已将~/.profile文件设置如下

export ANDROID_HOME="/usr/local/android-sdk-linux"

export ANDROID_PLATFORM_TOOLS="/usr/local/android-sdk-linux/platform-tools"

export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_PLATFORM_TOOLS

echo ANDROID_HOME给出以下结果

/usr/local/android-sdk-linux

我正在使用Ubuntu 14.04.如何解决这个问题并构建cordova应用程序?

Har*_*ana 13

发生此错误,因为您没有正确设置您的Android sdk路径.首先,找到android-sdk文件夹在您计算机中的位置.在android-sdk文件夹中,有一个名为"platform-tools"的文件夹.所以你可以正确识别android-sdk文件夹.然后获取android-sdk文件夹的路径.现在打开终端并输入以下命令,

export ANDROID_HOME="your android-sdk path"
Run Code Online (Sandbox Code Playgroud)

现在运行该项目.


小智 7

你可能用"sudo"来添加android平台..这个问题的快速解决方案是:

  1. 将权限文件夹权限还原到平台文件夹的所有文件夹/子文件夹

  2. 删除android平台 sudo cordova platform remove android

  3. 添加Android平台,cordova platform add android不要使用SUDO!如果没有sudo的错误那就是问题!永远不要使用sudo的东西或项目会有这样的问题!

如果你还有问题,那么你可能已经使用sudo安装了cordova,还有一个解决方案:
首先我们必须设置npm进行全局安装,这样我们就可以在没有sudo的情况下使用它,这是启用npm安装包的首选方式全局而不会中断$ HOME是设置本地节点前缀.这和运行一样简单:

echo prefix = ~/.node >> ~/.npmrc
echo 'export PATH=$HOME/.node/bin:$PATH' >> ~/.bashrc 
. ~/.bashrc    
Run Code Online (Sandbox Code Playgroud)

然后跑步:

npm install -g cordova
Run Code Online (Sandbox Code Playgroud)

它可能导致:

Error: EACCES, permission denied '/home/yourusername/.config/configstore/update-notifier-cordova.json'
Run Code Online (Sandbox Code Playgroud)

要解决这个问题:

sudo chown yourusername:yourusername /home/yourusername/.config/configstore/update-notifier-cordova.json
Run Code Online (Sandbox Code Playgroud)

在那之后,你可以愉快地运行npm install -g cordova没有sudo,没有遇到权限冲突,如果某些事情完全被破坏而你想从头开始,你需要做的就是删除你的〜/ .node目录.

希望这有帮助!

您还可以查看以下两个链接:源12