在开发容器中安装后找不到货物

问题描述 投票:0回答:1

我有一个用于

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 终端重新启动,但这只是让我的代码空间从未加载。

rust-cargo vscode-devcontainer codespaces github-codespaces devcontainer
1个回答
0
投票

我能够在运行之前使用

. $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",
}
© www.soinside.com 2019 - 2024. All rights reserved.