/bin/bash: line 1: uv: command not found

speleodb
HOBBY

a month ago

I'm getting stuck during the build of my project - and I don't understand why …

[stage-0 6/8] RUN --mount=type=cache,id=s/825c5fc2-52d8-45da-9350-e669d9490712-/root/cache/uv,target=/root/.cache/uv uv sync --extra production --frozen

/bin/bash: line 1: uv: command not found

✕ [stage-0 6/8] RUN --mount=type=cache,id=s/825c5fc2-52d8-45da-9350-e669d9490712-/root/cache/uv,target=/root/.cache/uv uv sync --extra production --frozen 
process "/bin/bash -ol pipefail -c uv sync --extra production --frozen" did not complete successfully: exit code: 127

With the following configuration:

nixpacks.toml

providers = ['python']

[variables]
NIXPACKS_UV_VERSION = "0.7.0"
NIXPACKS_PYTHON_PACKAGE_MANAGER = "uv"

[phases.install]
cmds = ["uv sync --extra production --frozen"]

railway.toml

# Documentation: https://docs.railway.com/reference/config-as-code#nixpacks-version
[build]
builder = "NIXPACKS"
# https://github.com/railwayapp/nixpacks/releases/
nixpacksVersion = "1.39.0"
nixpacksConfigPath = "./nixpacks.toml"

[build.nixpacksPlan]
providers = ["python"]

I'm quite puzzled … Am I supposed to install uv by hand ? If then why setting NIXPACKS_UV_VERSION

Thanks for the help

0 Replies

speleodb
HOBBY

a month ago

Same problem switching to RAILPACK:

uv sync --extra production --frozen

process "sh -c uv sync --extra production --frozen" did not complete successfully: exit code: 127

0s


sh: 1: uv: not found

ERROR: failed to solve: process "sh -c uv sync --extra production --frozen" did not complete successfully: exit code: 127

With railpack.json

{
  "$schema": "https://schema.railpack.com",
  "provider": "python",
  "packages": {
    "python": "3.13"
  },
  "steps": {
    "install": {
      "commands": [
        "uv sync --extra production --frozen"
      ]
    }
  }
}

I'm not sure I understand the problem


speleodb
HOBBY

a month ago

Anyone ?


a month ago

According to this docs section of railpack:
https://railpack.com/languages/python/#package-managers

it will automatically install uv if it detects a pyproject.toml and a uv.lock file, can you confirm your project has both files?


a month ago

Btw you also don't need to set the python ver, railpack uses 3.13.2 by default


a month ago

@Jonathan D ^


speleodb
HOBBY

a month ago

@Medim I believe my issue comes from the fact that I need to "overwrite" the install command and some "default parameters" are not passed around.
And not sure how to do it / what they are.

Railpacks are even worse when it comes to documentation to Nixpacks. Nightmare of headache


/bin/bash: line 1: uv: command not found - Railway Help Station