2017-08-03 102 views
0

我使用的离子3.现在我正在努力做ionic cordova build android,但我得到类型错误:env.runcmd不是一个函数(请参阅附照片)。离子3 Android编译错误

the screenshot

我想:
- >ionic cordova platform rm android然后ionic cordova platform add android然后重新构建Android再次
- >删除node_modules文件夹并做npm install然后构建Android再次

但他们没有帮助它。 ..

我的ionic info输出:
enter image description here

+1

添加“离子信息”的输出。 –

+0

尝试更新/重新安装npm,angular,cordova,ionic等,然后重试。 – Sabari

+0

@SwapnilPatwa刚刚没有编辑帖子 – Beqa

回答

0

好的,伙计们,问题恰恰与科尔多瓦版本有关。我没有注意到它什么时候更新到版本7.0.1。但是,我不得不将其降级到版本6.5.0,然后android构建成功。

让我困惑的唯一因素就是降级过程。每次我做sudo npm uninstall cordova -g时,cordova命令在bash中仍然可用。如果我会做sudo npm install [email protected] -g,版本仍然是7.0.1。即使其他一些命令,如... --save --save-exact ...也不起作用。

所以下面是我已经解决了这个问题(我使用的是Ubuntu linux,所以这将只适用于linux用户)解决此问题的步骤。

首先,我通过NPM卸载科尔多瓦
sudo npm uninstall cordova -g

然后取出从本地bin程序
sudo rm /usr/local/bin/cordova

安装科尔多瓦的特定版本
sudo npm install [email protected] -g(或任何你想要的版本)

最后,我不得不承认,在cordova安装之后,它现在位于/usr/bin/cordova,不再在/usr/local/bin/cordova,所以我不得不创建一个硬链接。
sudo ln -s /usr/local/bin/cordova /usr/bin/cordova

瞧!

1

只需使用命令'cordova run android'而不是'ionic cordova run android'。