英文:
Use fvm to change flutter version in vscode, but the flutter version not work?
问题
I added fvm to my project and set it up like this. Now I can run all the commands, for example, fvm use x.x.x
or fvm flutter pub get
. Everything works.
BUT when running the application through VSCode directly (Play button or shortcut), it always uses my latest installed SDK version. Why is it not starting with the current flutter version?
This is my settings.json
:
{
"dart.flutterSdkPaths": [
"/Users/usr/fvm/versions"
],
// Remove .fvm files from search
"search.exclude": {
"/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"/.fvm": true
}
}
What am I missing here? How do I configure fvm to work correctly with VSCode?
英文:
I added fvm to my project and set it up like this. Now I can run all the commands for example fvm use x.x.x
or fvm flutter pub get
. Everything works.
BUT when running the application through VSCode directly (Play button or shortcut) it always uses my latest install SDK version. Why is it not starting with the current flutter version ?
This is my settings.json
:
{
"dart.flutterSdkPaths": [
"/Users/usr/fvm/versions"
],
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
}
}
What am I missing here? How do I configure fvm to work correctly with VSCode?
答案1
得分: 4
我假设您已经正确设置了.fvm
文件夹,即其中包含符号链接flutter_sdk
(指向当前选择的SDK)和fvm_config.json
。
在您的settings.json
文件中,您还需要设置SDK本身的位置:
"dart.flutterSdkPath": ".fvm/flutter_sdk",
这将指向相同的符号链接。
英文:
I'm assuming you have the .fvm
folder set up properly? ie. It contains the symlink flutter_sdk
(which points to the currently selected SDK) and the fvm_config.json
.
In your settings.json
file, you also need to set the location of the SDK itself:
"dart.flutterSdkPath": ".fvm/flutter_sdk",
Which will point to the same symlink.
答案2
得分: -1
以下是代码部分的翻译:
For exists project
such as change version from 3.7.10 to 3.7.12
$ fvm install 3.7.12
$ cd project
$ fvm use 3.7.12 -f
使用命令 fvm use 3.7.12 -f
后,文件 .fvm/fvm_config.json
将被更新,符号链接 .fvm/flutter_sdk
也将更新到版本 3.7.12。
{
"flutterSdkVersion": "3.7.10",
"flavors": {}
}
变为
{
"flutterSdkVersion": "3.7.12",
"flavors": {}
}
.vscode/settings.json
{
"dart.flutterSdkPath": ".fvm/flutter_sdk",
// 从搜索中删除 .fvm 文件
"search.exclude": {
"**/.fvm": true
},
// 从文件监视中删除
"files.watcherExclude": {
"**/.fvm": true
}
}
切换到你的项目并使用 fvm use 3.7.12 -f
来更改版本。
For new project
To prevent compatibility issues with new version, may be create new project is best choice.
$ cd project
$ fvm use 3.7.12 -f
$ fvm flutter create --platforms=android --org com.xxx .
使用命令 fvm use 3.7.12 -f
将创建 .fvm/flutter_sdk
和 .fvm/fvm_config.json
文件。
将 .vscode/settings.json
添加到你的项目中。
请在官方网站 fvm 上阅读更多详细信息。
以下是针对上述问题的答案:
首先,你可以列出所有已安装的本地 SDK 版本,例如:
$ fvm list
Cache Directory: /Users/xxx/fvm/versions
3.10.0
3.7.12
- 将下面的用户 "xxx" 更改为你自己的用户名:
{
"dart.flutterSdkPaths": ["/Users/xxx/fvm/versions"],
// 从搜索中删除 .fvm 文件
"search.exclude": {
"**/.fvm": true
},
// 从文件监视中删除
"files.watcherExclude": {
"**/.fvm": true
}
}
- 更改当前的 Flutter SDK
打开 VSCode 命令面板,快捷键是
Ctrl + Shift + p
(Windows)
Cmd + Shift + p
(macOS)
输入命令 Flutter: Change SDK
并选择该命令,这将列出你已安装的所有 SDK 版本,选择你想要的版本。
这将更新文件 .vscode/settings.json
:
{
"dart.flutterSdkPaths": ["/Users/xxx/fvm/versions"],
"dart.flutterSdkPath": "/Users/xxx/fvm/versions/3.7.12", // 这是你选择的新版本
// 从搜索中删除 .fvm 文件
"search.exclude": {
"**/.fvm": true
},
// 从文件监视中删除
"files.watcherExclude": {
"**/.fvm": true
}
}
不要忘记如果你使用这种方法,移除 .fvm
文件夹:
$ rm -rf .fvm
英文:
General Apporch is below
For exists project
such as change version from 3.7.10 to 3.7.12
$ fvm install 3.7.12
$ cd project
$ fvm use 3.7.12 -f
with command fvm use 3.7.12 -f
, the file .fvm/fvm_config.json
will update and the sybolink .fvm/flutter_sdk
also was updated to version 3.7.12.
{
"flutterSdkVersion": "3.7.10",
"flavors": {}
}
to
{
"flutterSdkVersion": "3.7.12",
"flavors": {}
}
.vscode/settings.json
{
"dart.flutterSdkPath": ".fvm/flutter_sdk",
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
}
}
cd to you project and use fvm use 3.7.12 -f
to change version.
For new project
To prevent compatibility issues with new version, may be create new project is best choice.
$ cd project
$ fvm use 3.7.12 -f
$ fvm flutter create --platforms=android --org com.xxx .
the command fvm use 3.7.12 -f
will create .fvm/flutter_sdk
and .fvm/fvm_config.json
file.
add .vscode/settings.json
to your project
Please read more detail with official website fvm
The following answers are only for the above questions
You can list all installed local sdk versions first. such as:
$ fvm list
Cache Directory: /Users/xxx/fvm/versions
3.10.0
3.7.12
- edit below user xxx to your's
{
"dart.flutterSdkPaths": ["/Users/xxx/fvm/versions"],
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
}
}
- Change Current Flutter SDK
open vscode command palette, the shortcuts is
Ctrl + Shift + p
for windows
Cmd + Shift + p
for macOS
input command Flutter: Change SDK
and select the command, this will be list all you have install sdks, select the one you wanted.
this will update the file .vscode/settings.json
{
"dart.flutterSdkPaths": ["/Users/xxx/fvm/versions"],
"dart.flutterSdkPath": "/Users/xxx/fvm/versions/3.7.12", // this is your select new version
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
}
}
don't forget remove the folder .fvm
, if you use this apporch.
$ rm -rf .fvm
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论