Open TimChild opened 3 weeks ago
Hello @TimChild!
Would it be possible to run the langgraph up
command with --verbose
CLI arg?
@dqbd, Full output from running with verbose:
langgraph up --verbose
Starting LangGraph API server...
For local dev, requires env var LANGSMITH_API_KEY with access to LangGraph Cloud closed beta.
For production use, requires a license key in env var LANGGRAPH_CLOUD_LICENSE_KEY.
| Pulling...+ docker pull langchain/langgraph-api:3.12
/ Pulling...3.12: Pulling from langchain/langgraph-api
Digest: sha256:c3f28a01d9173737839654b5bacd9c862cc3c1641c77bae7024f7f60783b1729
Status: Image is up to date for langchain/langgraph-api:3.12
docker.io/langchain/langgraph-api:3.12
+ docker compose --project-directory /workspaces/temp_no_such_file_issue -f - up --remove-orphans --abort-on-container-exit <
volumes:
langgraph-data:
driver: local
services:
langgraph-redis:
image: redis:6
healthcheck:
test: redis-cli ping
interval: 5s
timeout: 1s
retries: 5
langgraph-postgres:
image: postgres:16
ports:
- "5433:5432"
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- langgraph-data:/var/lib/postgresql/data
healthcheck:
test: pg_isready -U postgres
start_period: 10s
timeout: 1s
retries: 5
interval: 60s
start_interval: 1s
langgraph-api:
ports:
- "8123:8000"
depends_on:
langgraph-redis:
condition: service_healthy
langgraph-postgres:
condition: service_healthy
environment:
REDIS_URI: redis://langgraph-redis:6379
POSTGRES_URI: postgres://postgres:postgres@langgraph-postgres:5432/postgres?sslmode=disable
healthcheck:
test: python /api/healthcheck.py
interval: 60s
start_interval: 1s
start_period: 10s
env_file: ./.env
pull_policy: build
build:
context: .
dockerfile_inline: |
FROM langchain/langgraph-api:3.12
ADD . /deps/__outer_temp_no_such_file_issue/src
RUN set -ex && \
for line in '[project]' \
'name = "temp_no_such_file_issue"' \
'version = "0.1"' \
'[tool.setuptools.package-data]' \
'"*" = ["**/*"]'; do \
echo "$line" >> /deps/__outer_temp_no_such_file_issue/pyproject.toml; \
done
RUN PYTHONDONTWRITEBYTECODE=1 pip install --no-cache-dir -c /api/constraints.txt -e /deps/*
ENV LANGSERVE_GRAPHS='{"example_graph": "/deps/__outer_temp_no_such_file_issue/src/example_graph.py:example_graph"}'
WORKDIR /deps/__outer_temp_no_such_file_issue/src
- Building...open /workspaces/temp_no_such_file_issue/-: no such file or directory
open /workspaces/temp_no_such_file_issue/-: no such file or directory
Not too enlightening to me unfortunately.
Checked other resources
Example Code
example_graph.py
devcontainer.json
Error Message and Stack Trace (if applicable)
Description
I don't know where the issue lies between langgraph, docker, devcontainer... I don't see issues raised in the docker or devcontainer repos related to this yet, which makes me think it could be some strange interaction with langgraph. Feel free to close if this is not relevant enough. Just wanted to post in case others have noticed the same issue.
This issue just started happening today, and I cannot understand where it comes from.
Using the extremely minimal example of a langgraph app provided (also with a
.env
file that contains a valid api key), I am able to runlanggraph up
no problem from wsl2. But trying to do the same from within a devcontainer, I keeep getting the error,no such file or directory
with directory name ending with a-
.Things I have tried:
So, it's not due to a very new release of langgraph, langgraph-cli, or docker engines.
Also, my external (wsl2) docker version is 27.2
I first noticed this issue in my CI workflow today. Re-running a successful one from yesterday still works (but I think my devcontainer build is cached). I don't usually use the devcontainer locally, but once my CI failed, I tried locally and it failed the same way. However, even going back to the same git commit from yesterday does not work locally.
Mostly wanted to post this in case anyone else comes across the same issue.
Also, deploying to langgraph-cloud still works.
System Info
pip freeze output
docker version output (from in the devcontainer)
docker version (from wsl2)