Flutter command to delete packages in .pub-cache folder
Asked Answered
B

7

50

How to delete the flutter packages in .pub-cache folder? When we give flutter clean, it will delete the build folder in the current directory. We can delete it manually, but my requirement is to delete the packages in .pub-cache folder using the command.

Braasch answered 9/10, 2019 at 13:43 Comment(0)
C
77

To clear the global PUB_CACHE, run:

dart pub cache clean

or

flutter pub cache clean
Careen answered 14/7, 2021 at 15:23 Comment(4)
This command was added in Dart 2.14.0 github.com/dart-lang/sdk/blob/master/CHANGELOG.mdClaimant
flutter pub cache clean also worksConsubstantiate
@ThongMTruong Yeah, most Dart commands work with Flutter tools also.Careen
this answer should be marked as correct!Conifer
A
36

If a dependency is removed from the pubspec and then pub get is run, it removes the dependency from the .packages file, making the dependency unavailable for importing.

If a packages in your pub cache to change or break, you can use flutter pub cache repair command performs a clean reinstall of all hosted and git packages in the system cache.

Adeliaadelice answered 9/10, 2019 at 14:42 Comment(0)
Q
31

Short answer

Delete the pubspec.lock file then run the command flutter pub get again.

Long Story

  • the command flutter pub get will regenerate the pubspec.lock.
  • In case your code isn't tracked by a source code version control like git, make sure to take a backup copy from your pubspec.lock file before deleting it especially if the project is a bit old and you are using caret constraint for package depencedy and not using concrete versions in pubspec.ymal
  • if the project didn't compile after applying the answer it could be caret constraint issue so you have to update your project to match the new library version or use concrete versions in pubspec.ymal for example
dependencies:
  path: 1.3.0
Questionary answered 11/3, 2020 at 5:5 Comment(6)
This file should be pushed to the source control, how should removing it be a good solution?Visualize
The command flutter pub get will regenerate that file again, don't worryQuestionary
Then what is the purpose of checking this file to the source control? Something does not make sense in that.Visualize
Keeping pubspec.lock in source control is optional but; It would be helpful if the project is a bit old and you are using caret constraint for package depencedy and not using concrete versions in pubspec.ymal which would cause other developers to get newer versions in the pubspec.lock which may cause compilation issues.Questionary
Aah ok, that makes sense now, thanks Shady! But nevertheless, I may end up getting a newer version if I use the caret, which will encourage me to not remove this file :DVisualize
You are welcome, Yes you are right; that's why you may need to keep a backup from your original pubspec.lock before you delete it if it isn't tracked by a source code version control :D I will add it as a note in the answer.Questionary
S
15

Just go to the terminal and type the command

flutter pub remove package_name 

as like

flutter pub remove flutter_riverpod
Sweepstake answered 6/10, 2021 at 16:51 Comment(0)
M
6

It took me more than 3 days to try all differently way. But finally I found, you need to go into the "pubspec.lock" file. Then go to the library and change the version there. Then go back to the file "pubspec.yaml" and run Packages get and it succeeds.

Mungovan answered 9/3, 2020 at 1:21 Comment(0)
A
5

Opening a file explorer and deleting the .pub-cache directory in your home folder is pretty easy. Or you can use a normal command line command:

rm -r ~/.pub-cache

Next time you run

flutter pub get

This will redownload the packages specified in your project's pubspec.lock file. If you also delete pubspec.lock then flutter pub get will get the most recent non-breaking versions based on your pubspeck.yaml file.

Notes:

  • Any global Pub packages are also stored in the .pub-cache folder, so you'll have to install them again, too, whenever you need them next.
  • Depending on what you want to do, you probably don't need to delete .pub-cache. That's why there isn't a specific command for it. The only reason I can think of is if you want to save space by deleting the old versions of packages that you aren't using any more.
Alive answered 29/5, 2021 at 4:24 Comment(0)
M
3

If you want to remove everything inside your cache folder to reclaim extra disk space or remove problematic packages:

flutter pub cache clean && flutter pub get 

To reinstall all packages in the system cache

flutter pub cache repair
Meit answered 28/7, 2022 at 22:44 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.