Skip to content

uv lock --check fails even though uv lock gives no updates #13614

@mikeweltevrede

Description

@mikeweltevrede

Summary

I hope you can help me with this :)

Running uv lock --check seems to fail even though when I run uv lock there are no updates:

(my-repo) my-device my-repo % uv self version
uv 0.7.3 (3c413f74b 2025-05-07)
(my-repo) my-device my-repo % uv lock --check
Resolved 345 packages in 5.88s
error: The lockfile at `uv.lock` needs to be updated, but `--locked` was provided. To update the lockfile, run `uv lock`.
(my-repo) my-device my-repo % uv lock
Resolved 345 packages in 9.68s
(my-repo) my-device my-repo % uv lock --check
Resolved 345 packages in 5.05s
error: The lockfile at `uv.lock` needs to be updated, but `--locked` was provided. To update the lockfile, run `uv lock`.

The pyproject.toml looks something like this (not shared entirely for confidentiality):

[project]
requires-python = "<4.0,>=3.9"
dependencies = [
    "typing-extensions>=4.6.0; python_version < '3.13'",
]

[dependency-groups]
local = [
    "typing-extensions==4.9.0",
]
dev = [
    "numba==0.55.1; python_version == '3.9'",
    "numba==0.56.4; python_version == '3.10'",
    "numba==0.57.1; python_version == '3.11'",
    "numba; python_version > '3.11'",
    "numpy==1.21.5; python_version == '3.9'",
    "numpy==1.23.5; python_version == '3.10' or python_version == '3.11'",
    "numpy; python_version > '3.11'",
]
lint = [
    "pre-commit==4.2.0",
    "pre-commit-hooks==5.0.0",
    "ruff==0.11.7",
]

This is the uv.toml file:

prerelease = "allow"
python-downloads = "never"
python-preference = "only-system"
link-mode = "symlink"

[[index]]
name = "my-corporate-proxy"
url = "https://my-corporate-proxy.com"
default = true
verify_ssl = true

[pip]
strict = true
verify-hashes = true
no-build-isolation-package = ["numba"]

The venv is created with the following make command (locally, we use uv venv --python 3.10 and on the CI the Python version is selected on the build agent so uv venv is used):

# `export CC` reason: https://stackoverflow.com/questions/79137098/macos-python-3-9-no-module-named-distutils-msvccompiler
.PHONY: install-project
install-project:
	@echo "🚀 Creating virtual environment using uv"
	@uv self version
	@uv venv
	@echo "🚀 Installing numba without build isolation"
	@make install-root
	@export CC=/usr/bin/clang && export CXX=/usr/bin/clang++
	@uv pip install setuptools numpy && uv pip install numba
	@echo "🚀 Installing project (with all dependencies)"
	@uv sync --all-groups --all-extras
	@uv run pre-commit install

What I already checked:

Platform

Darwin 24.5.0 arm64 (macOS 15.5 Sequoia)

Version

uv 0.7.3 (3c413f7 2025-05-07)

Python version

Python 3.9.22, 3.10.17, 3.11.12 (all on Azure DevOps CI), Python 3.10.5 (Locally)

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingneeds-mreNeeds more information for reproduction, see #9452

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions