2017-08-03 97 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'。