Cordova:您可能没有运行此项目所需的环境或操作系统

str*_*cat 12 node.js cordova

在Linux Mint 17.1 x86_64上,Cordova v4.3.0给出了以下错误:

$ cordova run android

Running command: /home/naman/test/platforms/android/cordova/run 
WARNING : No target specified, deploying to emulator
WARNING : no emulator specified, defaulting to Sample
Waiting for emulator...
Booting up emulator (this may take a while)....BOOT COMPLETE

/home/naman/test/platforms/android/cordova/node_modules/q/q.js:126
                throw e;
                      ^
Error: ENOENT, no such file or directory '/opt/software/android-sdk/tools/tools/lib/build.template'
    at Object.fs.openSync (fs.js:432:18)
    at Object.fs.readFileSync (fs.js:286:15)
    at /home/naman/test/platforms/android/cordova/lib/build.js:129:40
    at _fulfilled (/home/naman/test/platforms/android/cordova/node_modules/q/q.js:798:54)
    at self.promiseDispatch.done (/home/naman/test/platforms/android/cordova/node_modules/q/q.js:827:30)
    at Promise.promise.promiseDispatch (/home/naman/test/platforms/android/cordova/node_modules/q/q.js:760:13)
    at /home/naman/test/platforms/android/cordova/node_modules/q/q.js:574:44
    at flush (/home/naman/test/platforms/android/cordova/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:415:13)
ERROR running one or more of the platforms: Error: /home/naman/test/platforms/android/cordova/run: Command failed with exit code 8
You may not have the required environment or OS to run this project
Run Code Online (Sandbox Code Playgroud)

PATH变量似乎没问题(SDK的路径是正确的):

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/software/android-sdk/tools:/opt/software/android-sdk/platform-tools
Run Code Online (Sandbox Code Playgroud)

我用它安装了:

sudo apt-add-repository ppa:cordova-ubuntu/ppa
sudo apt-get update
sudo apt-get install cordova-cli
npm install -g cordova
Run Code Online (Sandbox Code Playgroud)

安装顺利进行,项目创建没有任何错误.我错过了一些依赖吗?

rom*_*xch 18

您可能需要卸载设备上的现有应用.

我从另一台计算机上安装了我的应用程序.当我跑步时,cordova run android我得到了

You may not have the required environment or OS to run this project.

但当我尝试安装我的apk时,adb它告诉我该应用程序已经安装.所以我卸载了它,它工作了.


小智 12

对于其他有此问题的人,假设您已经使用@Naman Dixit的答案检查并修复了任何环境变量,您可能还需要删除并添加您的平台:

cmd:  cordova platform rm [platform(s) of interest]
Run Code Online (Sandbox Code Playgroud)

删除[yourproject]/platforms文件夹中的所有内容.然后:

cmd:  cordova platform add [platform(s) of interest]
Run Code Online (Sandbox Code Playgroud)

这是我需要让一切工作的最后一步


str*_*cat 8

确保你有适当的定义环境变量(在添加此.bash_login.profilesource .profile):

export ANDROID_SDK="/opt/software/android-sdk"
export ANDROID_NDK="/opt/software/android-ndk"
export ANDROID_HOME="$ANDROID_SDK"
export ANDROID_PLATFORM_TOOLS="$ANDROID_SDK/platform-tools"
export PATH="${PATH}:$ANDROID_HOME/tools:$ANDROID_PLATFORM_TOOLS"
Run Code Online (Sandbox Code Playgroud)

  • 对于windows:在环境变量系统属性 - >高级 - >环境变量 - >系统变量示例变量名称中添加上述相同的变量:ANDROID_SDK变量值:/ path/android-sdk(删除"")依此类推......然后关闭并打开您的cmd窗口(以管理员身份运行) (3认同)