Flutter-boot搭建混合開發環境(踩坑記錄)

參考github文檔介紹flutter-boot github地址但是文檔寫的簡單的幾步,我在搭建的時候卻遇到了各種問題,這裏記錄一下。

1 :從npm安裝!!!

npm install -g flutter-boot

這裏沒有安裝node的童鞋,要先安裝notejs,才能執行npm命令,安裝教程
這裏提一下我安裝npm遇到的一個奇怪的問題,我npm install下載的安裝包,在C:\Users\Administrator\AppData\Roaming\npm這個路徑下,找不到我安裝的boot,最後無奈,我把應該有得文件從D:\nodejs\node_global複製過去。
在這裏插入圖片描述
2:我們假設你已經擁有了基礎的flutter環境(如果沒有可以參考Flutter Get Started),然後你可以使用以下命令來初始化你的混合工程

flutter-boot init

然後根據命令內的提示完成所有步驟
踩坑一:
(1)先是在輸入完flutter工程名之後,就卡住,運行不下去了,下面貼出github的一個解決方案
在這裏插入圖片描述
改完之後,重新在AS開一個終端,執行第二步就可以執行下去了
在這裏插入圖片描述
踩坑二:flutter-boot init 這一步在All done後會又一個提示信息:

All done!
Your module code is in my_flutter_module\lib\main.dart.
sill [create] flutter module recorded
info [create] flutter module created
info [ShellProject] create android softlink to D:\morehubProjects\dev1.3\githubapp\my_flutter_module\android_shell
(node:17336) UnhandledPromiseRejectionWarning: Error: EPERM: operation not permitted, symlink 'D:\morehubProjects\dev1.3\githubapp\my_flutter_mo
dule\android_shell' -> 'D:\morehubProjects\dev1.3\githubapp\my_flutter_module\android'
    at Object.symlinkSync (fs.js:994:3)
    at Object.createSoftLink (C:\Users\Administrator\AppData\Roaming\npm\node_modules\flutter-boot\src\utils\fsutils.js:124:6)
    at configAndroidShellProject (C:\Users\Administrator\AppData\Roaming\npm\node_modules\flutter-boot\src\generator\shellProject.js:42:13)
    at generateShellProject (C:\Users\Administrator\AppData\Roaming\npm\node_modules\flutter-boot\src\generator\shellProject.js:31:3)
    at creator.createFlutterModule (C:\Users\Administrator\AppData\Roaming\npm\node_modules\flutter-boot\src\generator\creator.js:42:5)
    at creator.createModule (C:\Users\Administrator\AppData\Roaming\npm\node_modules\flutter-boot\src\generator\creator.js:20:35)
    at async init (C:\Users\Administrator\AppData\Roaming\npm\node_modules\flutter-boot\src\commands\init.js:59:3)
    at async Command.<anonymous> (C:\Users\Administrator\AppData\Roaming\npm\node_modules\flutter-boot\src\commands\init.js:27:7)
(node:17336) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function
 without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:17336) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled w
ill terminate the Node.js process with a non-zero exit code.

這是因爲你沒有用管理員身份進入項目文件下去init,所以會報上面的錯。
在這裏插入圖片描述
成功初始化後的樣子
3 :添加混合棧 Android應用
在android應用內運行

flutter-boot use

踩坑三:
接着執行報錯:
在這裏插入圖片描述
這是因爲我的主模塊名字不是app,需要把你的主module改名爲app,才能被識別。改完之後就可以正常執行完了。如果不行,就把項目刪了重新clone到本地,重新操作,最好都有cmd管理員權限下執行。
在這裏插入圖片描述

接着按照文檔做下去。

踩坑四:
如果你配置的不是第一個混合項目,在flutter-boot use 的時候會報錯,讓你link一個,那麼你就執行flutter-boot link後,再執行use就好了
在這裏插入圖片描述
link成功的截圖:
在這裏插入圖片描述
踩坑五:
flutter-boot use這一步會讓你選擇flutter-boost插件的版本號,要選擇正確的版本號,不然會各種報錯,目前(2019/12/10)可用的版本號爲下圖:
在這裏插入圖片描述
flutter-boot 文檔
至此,你就可以運行你的項目了。

發佈了14 篇原創文章 · 獲贊 1 · 訪問量 2175
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章