leoafarias / fvm Goto Github PK
View Code? Open in Web Editor NEWFlutter Version Management: A simple CLI to manage Flutter SDK versions.
Home Page: https://fvm.app
License: MIT License
Flutter Version Management: A simple CLI to manage Flutter SDK versions.
Home Page: https://fvm.app
License: MIT License
Describe the bug
Hi, I'm trying to proxy to the flutter pub
command to execute build_runner
. It doesn't seem to be possible.
To Reproduce
Run flutter pub run build_runner build --delete-conflicting-outputs
Expected behavior
build_runner
is executed. Instead, I see an error that --delete-conflicting-outputs
is not an option.
Desktop (please complete the following information):
When using flutter channel to switch versions from within a cached version. Can cause other project that depend on that SDK not to be aware.
Create a helper alias command to link project flutter bin to the flutter
command
fvm alias
This will alias the local project bin to flutter
for that terminal session.
In brew you can have multiple version but still point to the same folder. This folder is a symlink to the current version. This way I don't need to set the version of dart everytime in IntelliJ
Hi @leoafarias,
Thank you so much for making this tool! I am spending a lot of time switching Dart versions and testing for compatibility so this tool will make that much simpler.
Unfortunately, I am unable to instal a flutter version. I've tried fvm install 1.7.8+hotfix.4
but it said it could not find the version. I also tried fvm install v1.7.8+hotfix.4
which didn't work either.
Here's the error log:
Unhandled exception:
ProcessException: The system cannot find the file specified.
Command: git ls-remote --tags https://github.com/flutter/flutter.git
#0 flutterListAllSdks (package:fvm/utils/flutter_tools.dart:104:7)
<asynchronous suspension>
#1 isValidFlutterVersion (package:fvm/utils/helpers.dart:8:17)
<asynchronous suspension>
#2 flutterVersionClone (package:fvm/utils/flutter_tools.dart:51:14)
<asynchronous suspension>
#3 InstallCommand.run (package:fvm/commands/install.dart:27:15)
<asynchronous suspension>
#4 CommandRunner.runCommand (package:args/command_runner.dart:197:27)
<asynchronous suspension>
#5 CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#6 new Future.sync (dart:async/future.dart:224:31)
#7 CommandRunner.run (package:args/command_runner.dart:112:14)
#8 fvmRunner (package:fvm/fvm.dart:34:23)
<asynchronous suspension>
#9 main (file:///C:/Users/Laptop/AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/fvm-0.6.1/bin/main.dart:4:9)
<asynchronous suspension>
#10 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:303:32)
#11 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
Downloading 1.7.8+hotfix.4...
CreateProcessW failed 2
⚠️ The system cannot find the file specified.
Why are they gone?
Has there a specific issue?
Describe the bug
When following the instructions for configuring VS Code, the version switcher fails to locate the installed versions.
To Reproduce
Steps to reproduce the behavior:
"dart.flutterSdkPaths": ["fvm"]
to VS Code settingsExpected behavior
Change the dart.flutterSdkPaths from fvm
to ~/fvm/versions
Screenshots
n/a
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
x-MacBook-Pro:~ apple$ fvm install
⚠️ Invalid value
Unhandled exception:
RangeError (index): Invalid value: Valid value range is empty: 0
#0 List.[] (dart:core-patch/growable_array.dart:147:60)
#1 List.elementAt (dart:core-patch/growable_array.dart:356:16)
#2 UnmodifiableListView.[] (dart:collection/collections.dart:23:39)
#3 InstallCommand.run (package:fvm/commands/install.dart:20:43)
<asynchronous suspension>
#4 CommandRunner.runCommand (package:args/command_runner.dart:197:27)
<asynchronous suspension>
#5 CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#6 new Future.sync (dart:async/future.dart:224:31)
#7 CommandRunner.run (package:args/command_runner.dart:112:14)
#8 fvmRunner (package:fvm/fvm.dart:35:23)
<asynchronous suspension>
#9 main (file:///Users/apple/.pub-cache/hosted/pub.dartlang.org/fvm-0.6.4/bin/main.dart:4:9)
<asynchronous suspension>
#10 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:303:32)
#11 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
Should really tell the user that they are a dummy and that i cant read minds and to give a channel or a version
e.g
1.12.13+hotfix.9
1.17.4 (global)
or
1.12.13+hotfix.9
1.17.4 *
In nutshell just indicaton which version is configured as global
Thx
Describe the bug
Running flutter doctor --android-licenses
results with error Could not find an option named "android-licenses"
To Reproduce
Steps to reproduce the behavior:
fvm use master
for the first timeDoctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, v1.12.17-pre.67, on Mac OS X 10.15.1 19B2093, locale pl-PL)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
✗ Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[✓] Xcode - develop for iOS and macOS (Xcode 11.2.1)
[!] Android Studio (version 3.5)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.40.2)
[!] Connected device
! No devices available
fvm flutter doctor --android-licenses
Could not find an option named "android-licenses"
./fvm run
flutter doctor --android-licenses
zsh: command not found: flutter
Expected behavior
Flutter doctor should run and allow to accept Android licenses.
Desktop (please complete the following information):
Additional context
It happened on clean install of macOS
I purpose fvm create
be followed by selector from installed versions of flutter and based on selected one, it should proxy to flutter create
of that version. After flutter create
, flutter use
or in future flutter alias
also executed to hook up with fvm.
Thx
One of cool things about fvm is the ability to lock flutter version. But for me locking dart version in project might as useful. I know it might be allot of work. But @leoafarias what do you think. Does this idea make sense?
Jas
I want to create an debug build like that:
fvm flutter build apk --debug
but it throws the following error:
⚠️ Could not find an option named "debug".
Unhandled exception:
Could not find an option named "debug".
With npm you can pass arguments like that to the subcommand:
npm test -- --coverage
but it doesn't work with fvm
:
fvm flutter build apk -- --debug
Any ideas?
Hey @leoafarias
I was about to write something like this to speed up doing flutter projects. Thanks for this.
Check this out too !
https://github.com/go-flutter-desktop/go-flutter/blob/master/example/simpleDemo/engineDownloader.go
It allows downloading the Flutter dependencies for Desktop.
How about also incorporating this ?
fvm install 1.18.0-12.0.pre no response
Support golang tooling for https://codemagic.io/
How about supporting this ? You can do your building for IOS and Android without needing all the android and ios stuff on your laptop. SO you can basically deploy IOS apps WITHOUT needing to hae a mac.
ALso they have an app that you can put on your mobile that will download the build output.
https://blog.codemagic.io/introducing-testmagic-beta/
Its basically fastlane and many others reengineered.
I have been using it for 3 months. Its the easiest CI and CD i have found for FLutter.
Thank you very much for your project. Hope to show the progress bar and download speed when using the 'fvm install' command, otherwise I don't know how long it will take me to download it.
Describe the bug
it shows "Sorry could not link xxx/bin/flutter" when i execute "fvm use 1.7.8+hotfix.4"
To Reproduce
Steps to reproduce the behavior:
Expected behavior
use target version success
Desktop (please complete the following information):
So I had flutter installed in folder and its bin folder in path. Installed fvm via go get. Now when switch via fvm, its still directed to old my flutter. If I try to remove mine from path and try install it complains to need flutter in path. I am on ubuntu 19.04.
Thx
Describe the bug
In 0.x version a symlink was created when calling fvm use stable
and it was possible to call all flutter commands by just starting them with ./fvm
e.g. ./fvm doctor
. Now it doesn't work anymore.
To Reproduce
Steps to reproduce the behavior:
fvm use stable
./fvm doctor
zsh: no such file or directory: ./fvm
Expected behavior
I would expect to flutter doctor for stable be executed. Or there should be some description how to use fvm in console.
Desktop (please complete the following information):
Additional context
n/a
fvm install
without version argument throws an exception but should provide a nice error message instead.
Unhandled exception:
NoSuchMethodError: Class 'ExceptionMissingChannelVersion' has no instance getter 'message'.
Receiver: Instance of 'ExceptionMissingChannelVersion'
Tried calling: message
#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
#1 fvmRunner.<anonymous closure> (package:fvm/fvm.dart:30:45)
#2 _RootZone.runBinary (dart:async/zone.dart:1444:54)
#3 _FutureListener.handleError (dart:async/future_impl.dart:155:20)
#4 Future._propagateToListeners.handleError (dart:async/future_impl.dart:698:47)
#5 Future._propagateToListeners (dart:async/future_impl.dart:719:24)
#6 Future._completeError (dart:async/future_impl.dart:534:5)
#7 _AsyncAwaitCompleter.completeError (dart:async-patch/async_patch.dart:43:15)
#8 CommandRunner.runCommand (package:args/command_runner.dart)
<asynchronous suspension>
#9 CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#10 new Future.sync (dart:async/future.dart:224:31)
#11 CommandRunner.run (package:args/command_runner.dart:112:14)
#12 fvmRunner (package:fvm/fvm.dart:26:23)
#13 main (file:///Users/p.leibiger/.pub-cache/hosted/pub.intern.sk/fvm-0.8.0/bin/main.dart:4:9)
#14 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:299:32)
#15 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
FVM Version: 0.8.0
With the new .fvm/fvm_config.json
file the install command should look for this version and install and use this if available.
List available flutter versions of download, including current versions for channels
Describe the bug
When I am using fvm use 1.17.4 --verbose
it says following -
[ 8.831s]
#0 _Directory.createSync (dart:io/directory_impl.dart:140:7)
#1 _File.createSync (dart:io/file_impl.dart:280:14)
#2 setAsProjectVersion (package:fvm/utils/project_config.dart:20:27)
#3 UseCommand.run (package:fvm/commands/use.dart:50:7)
#4 CommandRunner.runCommand (package:args/command_runner.dart:197:27)
#5 CommandRunner.run. (package:args/command_runner.dart:112:25)
#6 new Future.sync (dart:async/future.dart:224:31)
#7 CommandRunner.run (package:args/command_runner.dart:112:14)
#8 fvmRunner (package:fvm/fvm.dart:26:23)
#9 main (file:///$HOME/.pub-cache/hosted/pub.dartlang.org/fvm-0.8.3/bin/main.dart:4:9)
#10 _startIsolate. (dart:isolate-patch/isolate_patch.dart:305:32)
#11 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)
Unhandled exception:
FileSystemException: Creation failed, path = '/.fvm' (OS Error: Not a directory, errno = 20)
#0 _Directory.createSync (dart:io/directory_impl.dart:140:7)
#1 _File.createSync (dart:io/file_impl.dart:280:14)
#2 setAsProjectVersion (package:fvm/utils/project_config.dart:20:27)
#3 UseCommand.run (package:fvm/commands/use.dart:50:7)
#4 CommandRunner.runCommand (package:args/command_runner.dart:197:27)
#5 CommandRunner.run. (package:args/command_runner.dart:112:25)
#6 new Future.sync (dart:async/future.dart:224:31)
#7 CommandRunner.run (package:args/command_runner.dart:112:14)
#8 fvmRunner (package:fvm/fvm.dart:26:23)
#9 main (file://$HOME/.pub-cache/hosted/pub.dartlang.org/fvm-0.8.3/bin/main.dart:4:9)
#10 _startIsolate. (dart:isolate-patch/isolate_patch.dart:305:32)
#11 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)
Desktop (please complete the following information):
Current way to differentiate flutter version to use is by creating a symlink in the root project directly.
Unfortunately this symlink uses absolute path, and it does not make sense to commit it into git repo.
A solution that comes to mind is like what nodenv
uses. It stores the version to use in .node-version
file in the root project. This file contains a version string, and contains no path. So it can be commited to git.
The nodenv package also provides anode
executable in ~/.nodenv/shims/node
that then calls the requested version node
binary.
Describe the bug
fvm list does not recognize the installed flutter version
I think this has to do with some env variables or PATH etc.
To Reproduce
Steps to reproduce the behavior:
flutter version 1.9 installed on the machine (Mac OS: Mojave)
flutter --version results in right version
fvm list --verbose : No detailed logs only outputs No SDKs installed
Expected behavior
Expect to see the installed version
Flutter 1.9.1+hotfix.4 • channel stable • https://github.com/flutter/flutter.git
Framework • revision cc949a8e8b (4 weeks ago) • 2019-09-27 15:04:59 -0700
Engine • revision b863200c37
Tools • Dart 2.5.0
Screenshots
Desktop (please complete the following information):
Additional context
saw this in the root.
Nice !!
The code does not respect it yet from what i see.
If I run
flutter run --verbose -d chrome --web-hostname localhost --web-port 7357
so that my chrome instance is running on a specific port (needed for google sign in) it works fine.
If I enter the same but with fvm on the start I just get errors that the options aren't defined.
Would it be possible to add support for these?
Hey @leoafarias
Dart implementation allow project specific version, which is cool, but to be honest, I still want global flutter version like go version. Right now I am just soft linking to /usr/local/bin, will be cool if you allow global linking and switch will cli as before.
Thx
Describe the bug
Currently the docs assume that the user has Dart installed globally. Should probably add some verbiage to explicitly say that or add instructions for when you're only using the Flutter installed version.
To Reproduce
Steps to reproduce the behavior:
.pub-cache
added to path.Expected behavior
Expect the documentation to reflect missing steps and account for users who only have the Dart version shipped with Flutter installed.
Screenshots
n/a
Desktop (please complete the following information):
Additional context
n/a
Describe the bug
I am trying to use fvm in a windows 10 computer. I have downloaded two versions:
*1.12.13+hotfix.5
*1.9.1+hotfix.2
Those version are installed in this path: C:\Users\mighu\fvm\versions
When I try to use one version I got this message:
Sorry could not link C:\Users\mighu\fvm\versions\1.12.13+hotfix.5\bin\flutter.bat
I reviewed the folder and I can see the flutter.bat in that path.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Run flutter.bat from path C:\Users\mighu\fvm\versions\1.12.13+hotfix.5\bin\flutter.bat
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
Hi! First, i want say thanks for your initiative!
So, when i try run the command "fvm use 1.10.7", i get this exception:
PS C:\projetos\vimob\vimobpoc\app> fvm list
1.10.14
1.9.1
beta
PS C:\projetos\vimob\vimobpoc\app> fvm use 1.10.14
Using 1.10.14...
Unhandled exception:
type 'List<Object>' is not a subtype of type 'String'
#0 fvmRunner.<anonymous closure> (package:fvm/fvm.dart:39:45)
#1 _RootZone.runBinary (dart:async/zone.dart:1384:54)
#2 _FutureListener.handleError (dart:async/future_impl.dart:151:20)
#3 Future._propagateToListeners.handleError (dart:async/future_impl.dart:690:47)
#4 Future._propagateToListeners (dart:async/future_impl.dart:711:24)
#5 Future._completeError (dart:async/future_impl.dart:530:5)
#6 _AsyncAwaitCompleter.completeError (dart:async-patch/async_patch.dart:36:15)
#7 CommandRunner.runCommand (package:args/command_runner.dart)
<asynchronous suspension>
#8 CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#9 new Future.sync (dart:async/future.dart:224:31)
#10 CommandRunner.run (package:args/command_runner.dart:112:14)
#11 fvmRunner (package:fvm/fvm.dart:35:23)
<asynchronous suspension>
#12 main (file:///C:/Users/giuliano.stravini/AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/fvm-0.6.5/bin/main.dart:4:9)
<asynchronous suspension>
#13 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:303:32)
#14 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
Using 1.10.14...
Unhandled exception:
type 'List<Object>' is not a subtype of type 'String'
#0 fvmRunner.<anonymous closure> (package:fvm/fvm.dart:39:45)
#1 _RootZone.runBinary (dart:async/zone.dart:1384:54)
#2 _FutureListener.handleError (dart:async/future_impl.dart:151:20)
#3 Future._propagateToListeners.handleError (dart:async/future_impl.dart:690:47)
#4 Future._propagateToListeners (dart:async/future_impl.dart:711:24)
#5 Future._completeError (dart:async/future_impl.dart:530:5)
#6 _AsyncAwaitCompleter.completeError (dart:async-patch/async_patch.dart:36:15)
#7 CommandRunner.runCommand (package:args/command_runner.dart)
<asynchronous suspension>
#8 CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#9 new Future.sync (dart:async/future.dart:224:31)
#10 CommandRunner.run (package:args/command_runner.dart:112:14)
#11 fvmRunner (package:fvm/fvm.dart:35:23)
<asynchronous suspension>
#12 main (file:///C:/Users/giuliano.stravini/AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/fvm-0.6.5/bin/main.dart:4:9)
<asynchronous suspension>
#13 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:303:32)
#14 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
OS: Windows 10
FVM: 0.6.5.
ps: Any version, i get this error.
I did something wrong? Or it's really a bug?
First time i install a sdk it doesn't have a default cache path and doesn't prompt me to set this.
I would like to change the global fvm directory location from /Users/sven/fvm
to /Users/sven/.fvm
. However this does not seem to be possible at the moment, right? Maybe fvm can honor an environment variable like FVM_HOME
if set?
I found an old post that says you can install fvm using npm, yarn, or go, but the npm version is behind the current pub version.
Is it still possible to do this?
Such as the 1.17.0 isn't start with 'v'.
Lines 9 to 11 in 1900666
fvm/lib/utils/flutter_tools.dart
Line 79 in 1900666
The 'v' is hard-coded into the tool, so I can't use it download them.
Is your feature request related to a problem? Please describe.
Currently there is no easy way to see what version of fvm is installed. This is useful information when reporting bugs.
Describe the solution you'd like
Would like a version
command to be added that would print out the latest installed version.
Describe alternatives you've considered
n/a
Additional context
n/a
For example, I want to save sdk data on a mounted external disk.
Describe the bug
when i install
fvm install v1.9.1+hotfix.6
tips:
"v1.9.1+hotfix.6" is not a valid version
#0 flutterVersionClone (package:fvm/utils/flutter_tools.dart:68:5)
#1 InstallCommand.run (package:fvm/commands/install.dart:34:13)
#2 CommandRunner.runCommand (package:args/command_runner.dart:197:27)
#3 CommandRunner.run. (package:args/command_runner.dart:112:25)
#4 new Future.sync (dart:async/future.dart:224:31)
#5 CommandRunner.run (package:args/command_runner.dart:112:14)
#6 fvmRunner (package:fvm/fvm.dart:26:23)
#7 main (file:///Users/mac/.pub-cache/hosted/pub.dartlang.org/fvm-0.6.7/bin/main.dart:4:9)
#8 _startIsolate. (dart:isolate-patch/isolate_patch.dart:303:32)
#9 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
Is there a way to set the Dart / Flutter sdk locations in IntelliJ Idea for a specific project? I'm particularly interested in setting this for Flutter / Dart as I have different installed versions for different projects (I'm using fvm).
I know how to set them in the system preferences -> language & framesworks but this sets them for all projects and I'd like to have a specific fvm install for a specific flutter project.
After you've installed fvm cli and all works fine, you can add in you Android Studio project the feature to build directly with the Flutter version that you want follow this simple step:
You now can Run and Debug with the selected versions of Flutter.
Thanks for this version management system, is wonderful!
Is your feature request related to a problem? Please describe.
I can't find a command to add my existing flutter sdk
Describe the solution you'd like
Add a path to the flutter sdk i already have .. for those who have slow internet and already have flutter
Describe alternatives you've considered
provide us with a clear documentation of how to clone my existing flutter to a directory that fvm can see
Maybe we can also incorporate the Flutter Desktop. This uses the Flutter Embedder.
It means you can run your Flutter code on Desktop as well as Mobiles.
look at this:
https://github.com/go-flutter-desktop/go-flutter/blob/master/example/simpleDemo/engineDownloader.go
Notice how they use symlink for MacOS, but not for Windows or linux.
How about if we incorporate this into fvm ?
The engineDownloader checks the current flutter installed and downloads the right version of the flutter embedder, which is nice.
Describe the bug
i got an error of command not recognized after installing it.
To Reproduce
Steps to reproduce the behavior:
1-$ flutter pub global activate fvm
Package fvm is currently active at version 0.6.7.
Resolving dependencies...
2-$ fvm help
fvm : The term 'fvm' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that
the path is correct and try again.
At line:1 char:1
+ CategoryInfo : ObjectNotFound: (fvm:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Desktop (please complete the following information):
i see your assuming that a flutter path exists in the env variables.
not everyone has it this way.
why not make it possible to pass in the dir as a variable when this is run ?
that way the developer can pick the folder where they want flutter to be installed.
For example here is my .bash_profile
#git clone -b dev https://github.com/flutter/flutter.git
export FLUTTER_ROOT=$HOME/workspace/flutter/standard/flutter
echoLog "FLUTTER_ROOT (exported)" $FLUTTER_ROOT
export PATH=$PATH:$FLUTTER_ROOT/bin
fvm does not find it:
x-MacBook-Pro:go-flutter apple$ fvm
No Flutter versions installed
FVM is compatible with Flutter Channels, however, if a channel is a tag, and you run "flutter upgrade" it will cause it to bring it to the latest version of the channel, and lose the version.
This happens due to the fact of the way FVM symlinks the versions.
Also, there seems to be a caching issue on IDEs sometimes based on the symlink version. One of the solutions for this is to change the strategy away from symlink that more closely resembles what flutter channel expects.
I think we should recursively look up the parent directory and find the most recent fvm file.
To support nested projects, you can just put fvm in the root directory.
@leoafarias I have installed "Flutter 1.17.0" using fvm
(v0.8.3)
I can run my android successfully. But when I try to run it on iOS, it says "Upgrading project.pbxproj" which removes App.framework
and Flutter.framwork
from Runner/Flutter which causes following error and app gets stuck at launch screen itself
[VERBOSE-2:engine.cc(112)] Engine run configuration was invalid.
I tried to degrade the version from 1.17.4 to 1.12.13+hotfix.5 which runs smoothly on both platforms.
Is there anything related to fvm
which I am doing wrong or have not set up correctly.
Plus, when I execute fvm config
, it says "No configuration has been set".
Hey mate. First things first, great package!
I've been using fvm for some time now and it's been great. However, I installed v0.0.4 from pub today, and tried to run fvm list
. Unfortunately, it ran into some errors.
Here's the output:
▶ fvm list --verbose
[ 0.019s] Oops, something went wrong: Directory listing failed
[ 0.027s]
Unhandled exception:
type '_StackTrace' is not a subtype of type 'String'
#0 fvmRunner.<anonymous closure> (package:fvm/fvm.dart:39:23)
#1 _RootZone.runBinary (dart:async/zone.dart:1384:54)
#2 _FutureListener.handleError (dart:async/future_impl.dart:151:20)
#3 Future._propagateToListeners.handleError (dart:async/future_impl.dart:690:47)
#4 Future._propagateToListeners (dart:async/future_impl.dart:711:24)
#5 Future._completeError (dart:async/future_impl.dart:530:5)
#6 _AsyncAwaitCompleter.completeError (dart:async-patch/async_patch.dart:36:15)
#7 CommandRunner.runCommand (package:args/command_runner.dart)
<asynchronous suspension>
#8 CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#9 new Future.sync (dart:async/future.dart:224:31)
#10 CommandRunner.run (package:args/command_runner.dart:112:14)
#11 fvmRunner (package:fvm/fvm.dart:33:23)
<asynchronous suspension>
#12 main (file:///home/pitri/.pub-cache/hosted/pub.dartlang.org/fvm-0.0.4/bin/main.dart:4:9)
<asynchronous suspension>
#13 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:303:32)
#14 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
Any ideas on what could be wrong?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.