我有一个用于
GitHub Codespaces的
.devcontainer.json
,但是当我在 cargo
中运行 postCreateCommand
时,它指出找不到货物。
下面是我的
.devcontainer.json
:
{
"name": "Cargo",
"image": "mcr.microsoft.com/devcontainers/base:jammy",
// Install Cargo when the devcontainer is made
"onCreateCommand": "curl https://sh.rustup.rs -sSf | sh -s -- -y",
// Install Cargo dependencies after the devcontainer is made
"postCreateCommand": "cargo install aftman",
}
具体日志来自
creation.log
:
2024-03-24 21:44:44.709Z: cargo install aftman
2024-03-24 21:44:44.771Z: /bin/sh: 1: cargo: not found
2024-03-24 21:44:44.797Z: postCreateCommand failed with exit code 127. Skipping any further user-provided commands.
当我在代码空间的终端中运行
cargo
时,它工作正常,我可以在那里安装货物依赖项,但我希望它在我打开代码空间时自动安装货物。
请注意,代码空间工作正常并且根本不会进入恢复模式,因此应该没有其他问题。
我尝试让 bash 终端重新启动,但这只是让我的代码空间从未加载。
我能够在运行之前使用
. $HOME/.cargo/env
检查 cargo
是否已设置,从而解决了问题。
问题是
cargo install
在实际安装 cargo
之前运行。
下面是修复后的新代码。
{
"name": "Cargo",
"image": "mcr.microsoft.com/devcontainers/base:jammy",
// Install Cargo when the devcontainer is made
"onCreateCommand": "curl https://sh.rustup.rs -sSf | sh -s -- -y",
// Install Cargo dependencies after the devcontainer is made
"postCreateCommand": ". $HOME/.cargo/env && cargo install aftman",
}