Android 未能找到';安卓家庭';环境变量。未能找到';安卓&x27;在';路径';
我试图在我的ubuntu系统上为android构建默认的Hello World phonegap项目,但我在每一步都会遇到错误 简短版本:Android 未能找到';安卓家庭';环境变量。未能找到';安卓&x27;在';路径';,android,cordova,ubuntu,Android,Cordova,Ubuntu,我试图在我的ubuntu系统上为android构建默认的Hello World phonegap项目,但我在每一步都会遇到错误 简短版本: 没有sudo,我无法创建phonegap项目(不完全正确——见下文) 在用sudo创建了一个phonegap项目之后,如果没有sudo,我无法构建android 当我输入“sudophonegap buildandroid”时,我丢失了路径设置,导致了一个错误 我试图通过在.bashrc中包含行“alias sudo='sudo env PATH=$PATH
export PATH="$HOME/Android/tools:$PATH"
export PATH="$HOME/Android/platform-tools:$PATH"
export ANDROID_HOME="$HOME/Android:$PATH"
alias sudo='sudo env PATH=$PATH'
我在~/.bash_配置文件中也有以下内容:
export PATH="$HOME/Android/tools:$PATH"
export PATH="$HOME/Android/platform-tools:$PATH"
export ANDROID_HOME="$HOME/Android:$PATH"
长版本:
gregory@gregory-1001PXD:~/javascript$ phonegap create phonetest
Error: EACCES, permission denied '/home/gregory/.config/configstore/update-notifier-cordova.json'
You don't have access to this file.
at Object.fs.openSync (fs.js:432:18)
at Object.fs.readFileSync (fs.js:286:15)
at Object.create.all.get (/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:34:26)
at Object.Configstore (/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:27:44)
at new UpdateNotifier (/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update-notifier/index.js:34:17)
at module.exports (/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update-notifier/index.js:123:23)
at checkForUpdates (/usr/local/lib/node_modules/phonegap/node_modules/cordova/src/cli.js:64:20)
at cli (/usr/local/lib/node_modules/phonegap/node_modules/cordova/src/cli.js:114:5)
at Object.<anonymous> (/usr/local/lib/node_modules/phonegap/node_modules/cordova/bin/cordova:41:1)
at Module._compile (module.js:456:26)
gregory@gregory-1001PXD:~/javascript$ sudo phonegap create phonetest
[sudo] password for gregory:
Creating a new cordova project.
gregory@gregory-1001PXD:~/javascript$ cd phonetest/
gregory@gregory-1001PXD:~/javascript/phonetest$ sudo phonegap build android
[phonegap] executing 'cordova build android'...
cp: no such file or directory: /home/gregory/javascript/phonetest/icon.png
Running command: /home/gregory/javascript/phonetest/platforms/android/cordova/build
[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/gregory/javascript/phonetest/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/gregory/javascript/phonetest/platforms/android/cordova/build: Command failed with exit code 2
gregory@gregory-1001PXD:~/javascript$phonegap创建phonetest
错误:EACCES,权限被拒绝“/home/gregory/.config/configstore/update notifier cordova.json”
您没有访问此文件的权限。
在Object.fs.openSync(fs.js:432:18)
在Object.fs.readFileSync(fs.js:286:15)
在Object.create.all.get(/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update notifier/node_modules/configstore/index.js:34:26)
在Object.Configstore(/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update notifier/node_modules/Configstore/index.js:27:44)
在新的UpdateNotifier(/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update notifier/index.js:34:17)
在module.exports(/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update notifier/index.js:123:23)
在checkForUpdates(/usr/local/lib/node_modules/phonegap/node_modules/cordova/src/cli.js:64:20)
在cli(/usr/local/lib/node_modules/phonegap/node_modules/cordova/src/cli.js:114:5)
反对。(/usr/local/lib/node_modules/phonegap/node_modules/cordova/bin/cordova:41:1)
在模块处编译(Module.js:456:26)
gregory@gregory-1001PXD:~/javascript$sudo phonegap创建phonetest
[sudo]gregory的密码:
创建新的cordova项目。
gregory@gregory-1001PXD:~/javascript$cd phonetest/
gregory@gregory-1001PXD:~/javascript/phonetest$sudophonegap构建android
[phonegap]正在执行“cordova构建android”。。。
cp:没有这样的文件或目录:/home/gregory/javascript/phonetest/icon.png
运行命令:/home/gregory/javascript/phonetest/platforms/android/cordova/build
[错误:未能找到“ANDROID_HOME”环境变量。请尝试手动设置它。
在您的“路径”中找不到“android”命令。请尝试更新您的“路径”以包含有效SDK目录的路径。]
构建其中一个平台时出错:ERROR:/home/gregory/javascript/phonetest/platforms/android/cordova/build:命令失败,退出代码为2
您可能没有构建此项目所需的环境或操作系统
错误:/home/gregory/javascript/phonetest/platforms/android/cordova/build:命令失败,退出代码为2
但是我认为android命令在我的路径中(它完成了)
注意:如果删除文件update-notifier-cordova.json,我可以创建一个没有sudo的项目。但它仍然会产生一个错误,如下所示
gregory@gregory-1001PXD:~/javascript$ sudo mv /home/gregory/.config/configstore/update-notifier-cordova.json ~/Documents/
gregory@gregory-1001PXD:~/javascript$ phonegap create phonetest
Creating a new cordova project.
gregory@gregory-1001PXD:~/javascript$ cd phonetest/
gregory@gregory-1001PXD:~/javascript/phonetest$ phonegap build android
[phonegap] executing 'cordova platform add --save android'...
Error: Failed to fetch platform android@~4.1.0
Probably this is either a connection problem, or platform spec is incorrect.
Check your connection and platform name/version/URL.
Error: EACCES, open '/home/gregory/.cordova/lib/npm_cache/cordova-android/4.1.1/package/.npmignore'
[phonegap] executing 'cordova build android'...
Error: No platforms added to this project. Please use `cordova platform add <platform>`.
gregory@gregory-1001PXD:~/javascript$sudo mv/home/gregory/.config/configstore/update-notifier-cordova.json~/Documents/
gregory@gregory-1001PXD:~/javascript$phonegap创建phonetest
创建新的cordova项目。
gregory@gregory-1001PXD:~/javascript$cd phonetest/
gregory@gregory-1001PXD:~/javascript/phonetest$phonegap构建android
[phonegap]正在执行“cordova平台添加--保存android”。。。
错误:无法获取平台android@~4.1.0
这可能是连接问题,或者平台规范不正确。
检查您的连接和平台名称/版本/URL。
错误:EACCES,打开“/home/gregory/.cordova/lib/npm_cache/cordova android/4.1.1/package/.npmignore”
[phonegap]正在执行“cordova构建android”。。。
错误:此项目中未添加任何平台。请使用“cordova平台添加”。
他们的JIRA中记录了这一点:
使用以下命令检查文件的所有权:
ls-al/home/gregory/.config/configstore/update notifier cordova.json
如果是root,您可能希望尝试重新安装cordova-否则请使用以下建议的解决方法:
chmod 744/home/gregory/.config/configstore/update notifier cordova.json