Parser failure on "localEnv:" in devcontainer-feature.json
Los mantenedores suelen responder en 5 días
@v-Kaniska244 ya está trabajando en esto.
Desde el 5/8/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
When trying to inject a host environment variable into the container like this (in devcontainer-feature.json)
"containerEnv": {
"MY_API_KEY": "${localEnv:MY_API_KEY}"
}
the following error is returned:
UndefinedVar: Usage of undefined variable '$localEnv' (line 23)
Dockerfile.extended:23
--------------------
21 | echo "_REMOTE_USER_HOME=$( (command -v getent >/dev/null 2>&1 && getent passwd 'vscode' || grep -E '^vscode|^[^:]*:[^:]*:vscode:' /etc/passwd || true) | cut -d: -f6)" >> /tmp/dev-container-features/devcontainer-features.builtin.env
22 |
23 | >>> ENV MY_API_KEY="${localEnv:MY_API_KEY}"
24 | RUN --mount=type=bind,from=dev_containers_feature_content_source,source=opencode-psi_0,target=/tmp/build-features-src/opencode-psi_0 \
25 | cp -ar /tmp/build-features-src/opencode-psi_0 /tmp/dev-container-features \
--------------------
[2026-08-04T06:11:06.442Z]
ERROR: failed to build: failed to solve: failed to process "\"${localEnv:MY_API_
_KEY}\"": unsupported modifier (:M) in substitution
The issue seems to be that the "localEnv:" substring is not getting substituted before being passed to Docker, whose parser then trips on ":M" (or apparently any other colon-letter combination). Indeed, the error message goes away by inserting a hyphen after the colon:
"containerEnv": {
"MY_API_KEY": "${localEnv:-MY_API_KEY}"
}
But then the value passed into the container environment is the literal string "MY_API_KEY:":
env | grep MY_API_KEY
MY_API_KEY=MY_API_KEY:
- Lenguaje dominante
- Shell
- Estrellas
- 1.5k
- Forks
- 624
- Merge medio
- 4 d 8 h
- PR fusionados (30 d)
- 7
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de devcontainers/features
-
use mise for java feature installation or make sdkman configuable to download JDK from mirrosAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
devcontainers/features#1730 ·
Los mantenedores suelen responder en 5 días
-
Version resolution over unauthenticated git makes feature installs fail hard, with no fallbackPosiblemente ocupada @v-Kaniska244 la tomó hace 33 días. Abierto
devcontainers/features#1726 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 5 días
-
[docker-in-docker] v4 with iptablesSwitchAtRuntime:true default on Ubuntu 26.04 host/devcontainer image activates iptables-legacy instead of iptables-nftQuizá libre de nuevo @v-Kaniska244 la tomó hace 51 días y no hay ningún pull request abierto. Abierto
devcontainers/features#1709 · 1 reacción · 1 asignado ·
Los mantenedores suelen responder en 5 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
devcontainers/features#1707 ·
Los mantenedores suelen responder en 5 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
devcontainers/features#1699 · 2 comentarios ·
Los mantenedores suelen responder en 5 días
Todos los issues de devcontainers/features
Issues similares
-
initramfs: -type f (#18686) skips the libcurl.so.4 symlink, libcurl no longer copied into initramfsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
mesonbuild/wrapdb#2961 ·
Los mantenedores suelen responder en 1 día
-
package-update
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
oSoWoSo/vOid_Community_repOsitory#330 ·
Los mantenedores suelen responder en 1 día
-
command: monitor command: update info: steamcmd reproducible: always severity: medium type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
GameServerManagers/LinuxGSM#4997 ·
Los mantenedores suelen responder en 1 día
-
area:space-accuracy good first issue track:data
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Sara-Managed-Projects/space-radar#886 ·
Los mantenedores suelen responder en 1 día