To view all the dependencies of a flutter project, we can use the following command.
flutter pub deps -s list
dependencies:
- flutter 0.0.0
- characters 1.3.0
- collection 1.18.0
- material_color_utilities 0.5.0
- meta 1.10.0
- vector_math 2.1.4
- web 0.3.0
- sky_engine any
- cupertino_icons 1.0.6
- sqlite3 2.2.0
- collection ^1.15.0
- ffi >=1.2.1 <3.0.0
- js ^0.6.4
- meta ^1.3.0
- path ^1.8.0
In this example, we can see that sqlite3
package is using meta
which can include any version from 1.3.0
to 2.0.0
. We need to then find the meta package to see what the version is. If there are a lots of packages, it's difficult to check transitive dependencies this way. We can use pubviz to generate a visual dependency graph which clearly shows the effective version.
# install pubviz dart package
dart pub global activate pubviz
# add path to env if not added
export PATH="$PATH":"$HOME/.pub-cache/bin"
Then run pubviz
inside the project directory.
dart pub global run pubviz -f html open
Here we can see the effective dependency versions of each packages clearly now.