Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion docs/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -475,6 +475,15 @@ poetry init
The `install` command reads the `pyproject.toml` file from the current project,
resolves the dependencies, and installs them.

{{% note %}}
**When to use `install` vs `update`:**
- Use `poetry install` to install dependencies as specified in `poetry.lock` (or resolve dependencies and create the lock file if it's missing).
This is what you run after cloning a project. For reproducible installs, prefer `poetry sync`,
which also removes packages that are not in the lock file.
- Use `poetry update` when you want to update dependencies to their latest versions (within the constraints from the `pyproject.toml`)
and refresh `poetry.lock`.
{{% /note %}}

{{% note %}}
Normally, you should prefer `poetry sync` to `poetry install` to avoid untracked outdated packages.
However, if you have set `virtualenvs.create = false` to install dependencies into your system environment,
Expand Down Expand Up @@ -1276,7 +1285,14 @@ you should use the `update` command.
poetry update
```

This will resolve all dependencies of the project and write the exact versions into `poetry.lock`.
This will resolve all dependencies of the project, write the exact versions into `poetry.lock`,
and install them into your environment.

{{% note %}}
The `update` command **does not** modify your `pyproject.toml` file. It only updates the
`poetry.lock` file with the latest compatible versions based on the constraints already
defined in `pyproject.toml`. To change version constraints, use the `add` command instead.
{{% /note %}}

If you just want to update a few packages and not all, you can list them as such:

Expand Down