7、linux ubuntu 搭建Flutter_web 环境
ubuntu纯净环境下,搭建flutter_web搭建了两边,发现一只被不同的坑给卡到,终于第三遍把这条路给跑通了,具体心路历程如下:
环境准备:
首先如官网所说,也是很多野路子上没有提及到了,环境准备,确认一下指令,自己的linux是否支持:
bash
curl
git 2.x
mkdir
rm
unzip
which
xz-utils
一般情况下这些指令命令行敲一边就知道缺少哪个命令了;一般缺少的是xz-utils,安装很简单--
安装xz-utils # sudo apt-get install xz-utils 完成后,查看帮助: # xz --help ,好了,还有一点就是官网的另外一句话
公用库: Flutter 的 test 命令需要你的系统安装或存在如下的公用库。
libGLU.so.1 - 由 mesa 套件 (packages) 提供,比如 Ubuntu/Debian 系统下的 libglu1-mesa
这个公用库我也不知道有没有,管他呢,有没有装一个,反正无任何损失,
$ sudo apt-get install libglu1-mesa
至此,准备环境做好了,这一步非常重要。
FLutter SDK环境搭建:
Get the Flutter SDK
下载以下安装包来获取最新的 stable Flutter SDK:
https://flutter.cn/docs/get-started/install/linux#update-your-path
按照官方的指导,搞定Flutter SDK so easy,
接下来是注册linux flutter sdk跟dart sdk的环境变量:
$ nano ~/.bash_profile (打开根目录下的bash配置脚本,nano文本编辑指令也可以用vim)
export PATH="$PATH:[PATH_TO_FLUTTER_GIT_DIRECTORY]/flutter/bin"
export PATH="$PATH:[PATH_TO_FLUTTER_GIT_DIRECTORY]/flutter/bin/cache/dart-sdk/bin"
$ source ~/.bash_profile (运行脚本)
$ echo $PATH (验证 flutter/bin 文件夹是否已经添加到 PATH 环境变量中)
$ which flutter (验证 flutter 命令是否可用)
到这一步,flutter的准备工作做好,运行 flutter doctor 命令,看到如下输出就OK了!
[-] Android toolchain - develop for Android devices
• Android SDK at /Users/obiwan/Library/Android/sdk
✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ
• Try re-installing or updating your Android SDK,
visit https://flutter.dev/setup/#android-setup for detailed instructions.
Flutter_web环境搭建
flutter文件同级目录下,将flutter_web SDK git clone下来:
git clone https://github.com/flutter/flutter_web.git
clone完成之后,运行:
$ flutter pub global activate webdev (阿里云部署时,要求服务最小内存应该在1GB以上,因为我的测试服务器512M的这条命令跑不通)
确保`$HOME/.pub-cache/bin` 路径添加到环境变量中,同样
$ nano ~/.bash_profile
添加一条:export PATH="$PATH:[PATH_TO_FLUTTER_GIT_DIRECTORY]/flutter/bin/.pub-cache/bin"
$ source ~/.bash_profile (运行脚本)
$ echo $PATH (验证 flutter/bin 文件夹是否已经添加到 PATH 环境变量中)
到这里如无意外,flutter_web的环境就OK了。
验证
cd flutter_web目录下,找到examples目录,找到里面的Hello_world,在此目录下运行以下指令($ cd examples/hello_world/):
$ flutter pub upgrade
! flutter_web 0.0.0 from path ../../flutter_web
! flutter_web_ui 0.0.0 from path ../../flutter_web_ui
Running "flutter pub upgrade" in hello_world... 5.0s
$ pub get 加载pubspec.yaml中的依赖
然后启动serve
$ webdev serve
这时候就可以通过http://localhost:8080/查看结果了
运行webdev serve --hostname 0.0.0.0 hostname参数来绑定所有网络接口。
运行webdev serve web:80 --hostname 0.0.0.0 指定端口号80;hostname参数来绑定所有网络接口。