> For the complete documentation index, see [llms.txt](https://flutteruniversity.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://flutteruniversity.gitbook.io/docs/learn-flutter/intermediate/package-management.md).

# Package Management

Package management is crucial for managing dependencies and sharing code in a modular and reusable way. In Flutter, package management is facilitated through the use of the `pubspec.yaml` file, where you can specify the dependencies for your project.

## 1. Adding Dependencies 🔗

To add a new package to your Flutter project, you need to specify it in the `pubspec.yaml` file under the `dependencies` section.

```yaml
dependencies:
  flutter:
    sdk: flutter
  http: ^1.1.0
```

Here, we've added the `http` package to our project.

## 2. Updating Dependencies 🔄

To update the packages to their latest versions, you can use the following command:

```bash
flutter pub upgrade
```

## 3. Removing Dependencies 🗑️

To remove a package, simply delete its entry from the `pubspec.yaml` file and run:

```bash
flutter pub get
```

## 4. Creating a Package 📦

You can create your own package for sharing code. Use the following command to create a new package:

```bash
flutter create --template=package my_package
```

## 5. Publishing a Package 🚀

To publish your package to pub.dev, follow the [publishing guidelines](https://dart.dev/tools/pub/publishing) and use the following command:

```bash
flutter pub publish
```

### Assignments 📝

* [ ] Add a new package to your Flutter project.
* [ ] Update the packages in your project.
* [ ] Remove a package from your project.
* [ ] Create a new package and write some reusable code.
* [ ] Publish your package to pub.dev.

This way, you have a simple Flutter app demonstrating how to manage packages and use them in your project.
