🔨

.devcontainer/Dockerfile で npm install して not found となったとき

2024/03/21に公開

問題

.devcontainer/DockerfileRUN npm install と記述したところビルド時にエラーが発生しました。

npm ERR! enoent ENOENT: no such file or directory, open '/hoge/package.json'

原因はビルドコンテキストがデフォルトの .devcontainer/ であったため、上位のディレクトリの package.json が読み込めなかったためでした。

解決策

.devcontainer/devcontainer.json に context の設定を加えるとエラーなくビルドされるようになりました。

.devcontainer/devcontainer.json
{
  "build": {
    "context": "..",
    "dockerfile": "Dockerfile"
  }
}

参考

https://docs.docker.com/build/building/context/

https://containers.dev/implementors/json_reference/

GitHubで編集を提案

Discussion