之前用的fvm,不知道为什么突然不好使了,于是自己补几个简单的Shell。原理就是链接文件夹。
脚本文件【flutter_use.sh】
#!/bin/bash
rm -rf current
version="${1}"
echo "change to ${1}"
ln -s versions/$version current
写了一个可以针对某个工程执行此命令的脚本
/opt/fvm/initProjectFlutterSDK.sh
#!/bin/bash
file_name=setFlutterSDK.sh
target_dir="${1}"
sdk_version="${2}"
script_dir=$(cd $(dirname $0);pwd);
echo $target_dir;
echo $script_dir;
if [ -d "$target_dir" ]; then
if [ "$target_dir" == "$script_dir" ];
then
echo "it's same dir";
else
rm $target_dir/$file_name;
echo "rm $target_dir/$file_name";
fi
fi
echo "#!/bin/bash" >> $target_dir/$file_name
echo "/opt/fvm/flutter_use.sh $sdk_version" >> $target_dir/$file_name
chmod 777 $target_dir/$file_name
$target_dir/$file_name
在工程目录下执行,就可以在工程目录下生成脚本文件setFlutterSDK.sh
******@******deMacBook-Pro komodo % /opt/fvm/initProjectFlutterSDK.sh [当前工程目录(pwd可获取)] [版本名](在/opt/fvm/versions下的 版本名)
终端运行 ./setFlutterSDK.sh 设置当前工程使用的sdk版本
【如果开启了多个工程且链接的SDK版本不同时,要先切换sdk再build】
环境变量
export FLUTTER_ROOT=/opt/fvm/current
export FVM_HOME=/opt/fvm
export PATH=$PATH:$FLUTTER_ROOT/bin/cache/dart-sdk/bin
export PATH=$PATH:$FLUTTER_ROOT/bin
先自行从官网下载sdk,放在了/opt/fvm/versions中。
终端运行 /opt/fvm/flutter_use.sh [name] 可切换全局的Flutter版本
目录结构如下

网友评论