Google 要求我将我的应用程序升级到比 3.1.5 更新的 Cordova 版本。最新版本是 6.1.0。我曾在 Ubuntu 16.04 笔记本电脑上尝试过几个更新的版本,但都无法正常工作,尽管我一直在这台笔记本电脑上使用早期版本的 Cordova。问题似乎出在 Node.js 上。运行时cordova build
出现以下错误。
$ cordova build
Error: Cannot find module 'internal/fs'
at Function.Module._resolveFilename (module.js:470:15)
at Function.Module._load (module.js:418:25)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at evalmachine.<anonymous>:18:20
at Object.<anonymous> (/usr/share/cordova-cli/node_modules/cordova-lib/node_modules/glob/node_modules/graceful-fs/fs.js:11:1)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
我尝试了各种版本的 Cordova,目前正在运行通过 Synaptic 安装的 Ubuntu 存储库中的 cordova-cli 版本 4.3.1-ubuntu12。
我花了几个小时在 Google 上阅读其他人针对此问题的解决方案,这些解决方案通常涉及更改 node.js 和 npm 的版本,请参阅这个例子关于该主题的帖子。但是它们对我都不起作用,
我目前正在使用 node v7.6.0 和 npm v4.1.2,尽管我尝试过许多其他组合。
我非常感谢任何关于如何解决此问题的建议,以便将我的免费应用程序重新发布到 Google Play 上,并能够继续使用 javaScript 开发应用程序
答案1
我已经通过删除 cordova-cli 并通过 npm 安装 Cordova 解决了 OP 中描述的问题,如下所示:
sudo npm install -g cordova