Giter VIP home page Giter VIP logo

fvm's Introduction

fvm

GitHub stars Pub Version Pub Likes Pub Points All Contributors MIT License Codecov Awesome Flutter

FVM streamlines Flutter version management. It allows per project SDK versions, ensuring consistent app builds and easier testing of new releases, thereby boosting the efficiency of your Flutter project tasks.

Why FVM?

  • Need for simultaneous use of multiple Flutter SDKs.
  • SDK testing requires constant channel switching.
  • Channel switches are slow and need repeated reinstalls.
  • Difficulty managing the latest successful SDK version used in an app.
  • Flutter's major updates demand total app migration.
  • Inconsistencies occur in development environments within teams.

For more information, read FVM documentation.

Contributors


Checkout Flutter Sidekick. Read more about it here.

Troubleshooting

Please view our FAQ.

License

This project is licensed under the MIT License; see LICENSE file for details.

fvm's People

Contributors

allcontributors[bot] avatar andreadelfante avatar bassiuz avatar bdlukaa avatar caijinglong avatar cir0x avatar davidmartos96 avatar deandreamatias avatar ened avatar flat-data avatar gonzalogauto avatar inlesco avatar jascodes avatar jmewes avatar jnschulze avatar kavantix avatar kuhnroyal avatar leoafarias avatar lollipopkit avatar maks avatar mrgnhnt96 avatar nank1ro avatar nilsreichardt avatar orestesgaolin avatar pavel-sulimau avatar saancreed avatar shreyammaity avatar taras avatar th0rgall avatar zmtzawqlp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fvm's Issues

[BUG] CLI crash


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

"v1.9.1+hotfix.6" is not a valid version

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)

[Feature Request] Use a different way to distinguish flutter version to use

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.

CI and CD for FLutter

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.

Is there a way to add and existing flutter sdks to the fvm cli ? [Feature Request]

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

[BUG] fvm install without argument should have a nicer error message

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.

fvm : The term 'fvm' is not recognized as the name of a cmdlet (windows) [BUG]

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...

  • args 1.5.2
  • charcode 1.1.2
  • cli_util 0.1.3+2
  • console 3.1.0
  • fvm 0.6.7
  • io 0.3.3
  • meta 1.1.8
  • path 1.6.4
  • source_span 1.5.5
  • string_scanner 1.0.5
  • term_glyph 1.1.0
  • vector_math 2.0.8
    Precompiling executables...
    Precompiled fvm:bin\main.
    Installed executable fvm.
    Warning: Pub installs executables into C:\Archive\1_ DEV TOOLS\FLUTTER\SETUP 2019-03-11\flutter.pub-cache\bin, which is not on your path.
    You can fix that by adding that directory to your system's "Path" environment variable.
    A web search for "configure windows path" will show you how.
    Activated fvm 0.6.7.

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

  • fvm help
  •   + CategoryInfo          : ObjectNotFound: (fvm:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException
    
    
    

Desktop (please complete the following information):

  • OS: windows10
  • IDE: VScode
  • FVM Version 0.6.7

[BUG]

First time i install a sdk it doesn't have a default cache path and doesn't prompt me to set this.

  • OS: macOS
  • FVM Version 0.7.0

Mark global version when listing

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

[Feature Request] Support brew like links

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

flutter home path

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

Better handling on version change using flutter channel

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.

  • Update cached version after flutter channel
  • When using on another project it should recover the version

[BUG] Sorry could not link xxx/bin/flutter

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:

  1. open a shell in item2
  2. exec fvm use "v1.7.8+hotfix.4"

Expected behavior
use target version success

Screenshots
image

Desktop (please complete the following information):

  • OS: [macos 10.15.3]
  • FVM Version [0.6.7]

[Feature Request] Add command to print out current verion of fvm

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

Unable to Install Flutter Version

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.

Activating version could not find the link

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:

  1. Run pub global activate fvm
  2. Add this Path C:\Users\mighu\Flutter\flutter_windows_v1.0.0-stable\flutter.pub-cache\bin in environment variables
  3. Run fvm install 1.12.13+hotfix.5
  4. Run use 1.12.13+hotfix.5

Expected behavior
Run flutter.bat from path C:\Users\mighu\fvm\versions\1.12.13+hotfix.5\bin\flutter.bat

Screenshots
fvmBug

Desktop (please complete the following information):

  • OS: windows 10
  • FVM Version [0.6.7]

Additional context
Add any other context about the problem here.

Calling "flutter doctor --android-licenses" results with "Could not find an option named "android-licenses""

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:

  1. Install fvm and do not install Flutter from official website
  2. Run fvm use master for the first time
  3. See the flutter doctor's output:
Doctor 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
  1. Run fvm flutter doctor --android-licenses
  2. See error: Could not find an option named "android-licenses"
  3. Run ./fvm run
  4. Run flutter doctor --android-licenses
  5. See error zsh: command not found: flutter

Expected behavior
Flutter doctor should run and allow to accept Android licenses.

Desktop (please complete the following information):

  • OS: macOS
  • no standalone Flutter distribution installed

Additional context
It happened on clean install of macOS

Won't switch version

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

Dart / Flutter sdk locations in IntelliJ Idea, is there a way to set them for a specific project?

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.

Problem while working with Flutter 1.17.0

@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".

Issue and compatibility on "tag releases" with Flutter Channel

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.

[BUG] Update install to state dart should be installed globally

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:

  1. Run install commands without having Dart installed globally with .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):

  • OS: [e.g. iOS]: MacOS
  • FVM Version [e.g. 22]: 0.6.6

Additional context
n/a

Flutter command alias

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.

[BUG] I already have flutter installed and fvm list says no sdks installed

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:

  1. Install flutter using the standard way mentioned on flutter.dev
  2. install fvm following the installation guide
  3. run fvm list
  4. Returns ==> No SDKs have been installed yet.

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):

  • OS: [e.g. iOS] MacOS Mojave
  • FVM Version [e.g. 22] fvm 0.6.4

Additional context

[Feature Request] Change global fvm directory location

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?

Feature: fvm create

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

Discussion: Dart version management

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

[BUG]: incorrect instructions for VS Code settings

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:

  1. Add "dart.flutterSdkPaths": ["fvm"] to VS Code settings
  2. Click on dart version
  3. Observe that version switcher fails to display, or displays only current version.

Expected behavior
Change the dart.flutterSdkPaths from fvm to ~/fvm/versions

Screenshots
n/a

Desktop (please complete the following information):

  • OS: [e.g. iOS]: MacOS
  • VS Code: v1.40.2
  • FVM Version [e.g. 22]: v0.6.6

Additional context
Add any other context about the problem here.

Recursively look up fvm file.

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.

[Feature Request] Android Studio configuration

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:

  1. copy the path of fvm symbolic link in your root project directory.
    example {fvm-path}/versions/beta/bin/flutter
  2. in the Android Studio menù open Languages & Frameworks -> Flutter or search for Flutter and change Flutter SDK path to the previous path
  3. Apply the changes

You now can Run and Debug with the selected versions of Flutter.

Thanks for this version management system, is wonderful!

How do I pass the --debug argument to fvm flutter build apk?

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?

[Feature Request] add support for web-hostname and web-port

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?

[Feature Request]Hope to show download progress

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.

Allow global flutter binary

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

[BUG] ./fvm command no longer works after 1.0 upgrade

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:

  1. Go to some Flutter project directory in command line
  2. Execute fvm use stable
  3. Execute ./fvm doctor
  4. See error 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):

  • OS: macOS Catalina
  • FVM Version 1.0.2

Additional context
n/a

Directory listing failed

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?

.fvm

saw this in the root.
Nice !!
The code does not respect it yet from what i see.

"fvm use" doesn't work

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?

Creation Failed on Fvm use

Describe the bug
When I am using fvm use 1.17.4 --verbose it says following -
[ 8.831s] ⚠️ Creation failed
#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):

  • OS: macOS Mojave (v10.14.6)
  • FVM Version [e.g. 0.8.3]

[BUG] can't proxy to pub

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):

  • MacOS 10.15.5
  • FVM Version 0.7.1

Flutter Desktop

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.