devcontainers / devcontainers/features
Nix feature does not support complex package expressions
- Lenguaje dominante
- Shell
- Estrellas
- 1.5k
- Forks
- 621
- Merge medio
- 6 d 53 min
- PR fusionados (30 d)
- 9
Descripción
GIven
```json
"ghcr.io/devcontainers/features/nix:1": {
"multiUser": "false",
"packages": "pdm, kompose, (google-cloud-sdk.withExtraComponents [google-cloud-sdk.components.gke-gcloud-auth-plugin])"
```
Building the Dev Container image will fail with the following error:
```
#0 65.22 copying Nix to /nix/store...
#0 65.84 installing 'nix-2.12.0'
#0 65.86 building '/nix/store/0dg0zjj2j6hijn193x1215yssrg7n1xs-user-environment.drv'...
#0 106.5 unpacking channels...
#0 116.3
#0 116.3 Installation finished! To ensure that the necessary environment
#0 116.3 variables are set, please add the line
#0 116.3
#0 116.3 . /home/vscode/.nix-profile/etc/profile.d/nix.sh
#0 116.3
#0 116.3 to your shell profile (e.g. ~/.profile).
#0 116.4 (*) Executing post-installation steps...
#0 116.4 Installing packages "pdm kompose (google-cloud-sdk.withExtraComponents [google-cloud-sdk.components.gke-gcloud-auth-plugin])" in profile...
#0 131.1 error: Parenthesis is not closed.
#0 131.2 ERROR: Feature "Nix Package Manager" (ghcr.io/devcontainers/features/nix) failed to install! Look at the documentation at https://github.com/devcontainers/features/tree/main/src/nix for help troubleshooting this error.
------
[2023-01-04T15:57:49.359Z] ERROR: failed to solve: executor failed running [/bin/sh -c cd /tmp/build-features/nix_2 && chmod +x ./devcontainer-features-install.sh && ./devcontainer-features-install.sh]: exit code: 1
[2023-01-04T15:57:49.365Z] Stop (267178 ms): Run: docker buildx build --load --build-arg BUILDKIT_INLINE_CACHE=1 -f /tmp/devcontainercli-taohansen/container-features/0.25.2-1672847593217/Dockerfile-with-features -t vsc-flask-cockroachdb-devcontainer-fddaab1caaa8f542301775876a0f87bd --target dev_containers_target_stage --build-context dev_containers_feature_content_source=/tmp/devcontainercli-taohansen/container-features/0.25.2-1672847593217 --build-arg _DEV_CONTAINERS_BASE_IMAGE=dev_container_auto_added_stage_label --build-arg _DEV_CONTAINERS_IMAGE_USER=root --build-arg _DEV_CONTAINERS_FEATURE_CONTENT_SOURCE=dev_container_feature_content_temp /home/taohansen/flask-cockroachdb-devcontainer
[2023-01-04T15:57:49.367Z] Error: Command failed: docker buildx build --load --build-arg BUILDKIT_INLINE_CACHE=1 -f /tmp/devcontainercli-taohansen/container-features/0.25.2-1672847593217/Dockerfile-with-features -t vsc-flask-cockroachdb-devcontainer-fddaab1caaa8f542301775876a0f87bd --target dev_containers_target_stage --build-context dev_containers_feature_content_source=/tmp/devcontainercli-taohansen/container-features/0.25.2-1672847593217 --build-arg _DEV_CONTAINERS_BASE_IMAGE=dev_container_auto_added_stage_label --build-arg _DEV_CONTAINERS_IMAGE_USER=root --build-arg _DEV_CONTAINERS_FEATURE_CONTENT_SOURCE=dev_container_feature_content_temp /home/taohansen/flask-cockroachdb-devcontainer
[2023-01-04T15:57:49.367Z] at Doe (/home/taohansen/.vscode-remote-containers/dist/dev-containers-cli-0.266.1/dist/spec-node/devContainersSpecCLI.js:1894:1669)
[2023-01-04T15:57:49.367Z] at runMicrotasks ()
[2023-01-04T15:57:49.368Z] at processTicksAndRejections (node:internal/process/task_queues:96:5)
[2023-01-04T15:57:49.368Z] at async EF (/home/taohansen/.vscode-remote-containers/dist/dev-containers-cli-0.266.1/dist/spec-node/devContainersSpecCLI.js:1893:1978)
[2023-01-04T15:57:49.368Z] at async uT (/home/taohansen/.vscode-remote-containers/dist/dev-containers-cli-0.266.1/dist/spec-node/devContainersSpecCLI.js:1893:901)
[2023-01-04T15:57:49.368Z] at async Poe (/home/taohansen/.vscode-remote-containers/dist/dev-containers-cli-0.266.1/dist/spec-node/devContainersSpecCLI.js:1899:2128)
[2023-01-04T15:57:49.369Z] at async Zf (/home/taohansen/.vscode-remote-containers/dist/dev-containers-cli-0.266.1/dist/spec-node/devContainersSpecCLI.js:1899:3278)
[2023-01-04T15:57:49.369Z] at async aue (/home/taohansen/.vscode-remote-containers/dist/dev-containers-cli-0.266.1/dist/spec-node/devContainersSpecCLI.js:2020:15276)
[2023-01-04T15:57:49.369Z] at async oue (/home/taohansen/.vscode-remote-containers/dist/dev-containers-cli-0.266.1/dist/spec-node/devContainersSpecCLI.js:2020:15030)
[2023-01-04T15:57:49.372Z] Stop (277278 ms): Run in Host: /home/taohansen/.vscode-remote-containers/bin/e8a3071ea4344d9d48ef8a4df2c097372b0c5161/node /home/taohansen/.vscode-remote-containers/dist/dev-containers-cli-0.266.1/dist/spec-node/devContainersSpecCLI.js up --workspace-folder /home/taohansen/flask-cockroachdb-devcontainer --workspace-mount-consistency cached --id-label devcontainer.local_folder=\\wsl.localhost\Ubuntu\home\taohansen\flask-cockroachdb-devcontainer --log-level debug --log-format json --config /home/taohansen/flask-cockroachdb-devcontainer/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --remove-existing-container --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[2023-01-04T15:57:49.373Z] Exit code 1
[2023-01-04T15:57:49.382Z] Command failed: /home/taohansen/.vscode-remote-containers/bin/e8a3071ea4344d9d48ef8a4df2c097372b0c5161/node /home/taohansen/.vscode-remote-containers/dist/dev-containers-cli-0.266.1/dist/spec-node/devContainersSpecCLI.js up --workspace-folder /home/taohansen/flask-cockroachdb-devcontainer --workspace-mount-consistency cached --id-label devcontainer.local_folder=\\wsl.localhost\Ubuntu\home\taohansen\flask-cockroachdb-devcontainer --log-level debug --log-format json --config /home/taohansen/flask-cockroachdb-devcontainer/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --remove-existing-container --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[2023-01-04T15:57:49.382Z] Exit code 1
[2023-01-04T15:57:53.878Z] Start: Run: wsl -d Ubuntu -e wslpath -u \\wsl.localhost\Ubuntu\home\taohansen\flask-cockroachdb-devcontainer
[2023-01-04T15:57:54.160Z] Stop (282 ms): Run: wsl -d Ubuntu -e wslpath -u \\wsl.localhost\Ubuntu\home\taohansen\flask-cockroachdb-devcontainer
```
Of course, the package expression here is enclosed so this appears to be a bug in how the Nix feature handles any package declaration more complex than simple package names.
Guía de contribución
Línea de trabajo
Comienza con la documentación de la feature Nix en https://github.com/devcontainers/features/tree/main/src/nix y reproduce el fallo usando la expresión de packages mostrada en el issue. Sigue el comando devcontainer-features-install.sh generado que instala los paquetes y, después, verifica que la misma expresión compleja se complete correctamente durante una compilación de Docker.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- docker, shell
- Área
- devops, tooling
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 38/100