尝试构建phonegap应用但奇怪的错误: -
user@ubuntu:~/Projects/PhoneGap/testapp$ phonegap build android
[phonegap] executing 'cordova build android'...
Running command: /home/user/Projects/PhoneGap/testapp/platforms/android/cordova/build
module.js:338
throw err;
^
Error: Cannot find module 'q'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/home/user/Projects/PhoneGap/testapp/platforms/android/cordova/lib/spawn.js:23:15)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
You may not have the required environment or OS to build this project
cordova -v =&gt; 5.3.3
想要:{“node”:“0.8.x || 0.10.x”}(当前:{“node”:“0.12.7”,“npm”:“2.11.3”}
请提出建议..谢谢
答案 0 :(得分:11)
我正在努力解决同样的问题并最终弄明白npm install q --save
帮助我。
答案 1 :(得分:2)
我有同样的问题因为我的cordova android版本已被弃用。使用
升级cordova platform update android
如此处所述:https://cordova.apache.org/docs/en/3.1.0/guide/platforms/android/upgrading.html
答案 2 :(得分:2)
这对我有用:
cordova platform remove android
cordova platform add android@7.0.0
答案 3 :(得分:1)
我知道这听起来很奇怪,但卸载并重新安装最新版本的NPM。
答案 4 :(得分:1)
最佳实践是在类节点项目中缺少某些内容时执行npm i .
。
缺少'q'表示完全没有生成node_modules文件夹。