gpt4 book ai didi

rust - rust 安装在其他用户的主目录下如何执行?

转载 作者:行者123 更新时间:2023-11-29 08:23:48 26 4
gpt4 key购买 nike

我通过以下方式下载并安装了 Rust 编译器:

sudo curl https://sh.rustup.rs -sSf | sh

虽然以 sudo 为前缀,但它仍然安装到本地目录:$HOME/.cargo

从安装它的帐户,执行 rustc --version 得到 1.16.0 (...)

我想从不同于安装它的 Linux 帐户执行 rustc。这可能吗?

我创建了一个指向 .cargo 目录的逻辑链接,并将 $HOME/.cargo/bin 添加到我的 PATH 前面。

但是,来自另一个帐户的 rustc --version 给出了这个令人费解的消息:

error: no default toolchain configured

最佳答案

如果您通过 rustup 安装(推荐)您的主目录中有两个重要文件夹:.cargo.rustup (并且根据您的版本,软链接(soft link) .multirust 指向 .rustup 是为了向后兼容)。所以你还必须创建一个链接到 .rustup .这就是奇怪的错误消息的全部内容。

I would like to execute rustc from a Linux account different than the one in which it was installed. Is this possible?

然而,这是一个不同的问题。重要的是要注意许多命令,即使只是 cargo build , 将尝试写入这些目录之一(在 cargo build 的情况下缓存下载的包)。如果第二个用户在上面提到的两个目录中都具有完全的读/写/执行权限,它应该可以工作——但是这是否是一个好的解决方案就很值得怀疑了。如果需要,您可以将这两个文件夹移动到任何您喜欢的位置,为两个用户授予对这两个文件夹的完全权限,并为每个用户创建软链接(soft link)。


但同样,根据需要多少隐私,它会变得更加复杂(但是,比方说,如果您有一个帐户用于您的工作,一个帐户用于您的爱好,那么这并不重要)。以下是对这两个文件夹的概述:

  • ~/.cargo/<several files> : 小的、用户特定的、有些 secret 的文件(可能包含 crates.io 的登录数据)
  • ~/.cargo/bin : 安装程序和程序代理(大约 100MB),需要执行权限
  • ~/.cargo/registry : 图书馆缓存,可以变得很大,不保密
  • ~/.rustup/toolchains :已安装的编译器版本以及您可以通过 rustup 安装的所有其他内容
  • ~/.rustup/<tmp and update-hashes> : 一些临时文件
  • ~/.rustup/settings.toml : 小,用户特定

因此,根据您的需要,您可以拥有真正的 .cargo.rustup您的主目录中的文件夹,只需软链接(soft link)文件夹,如 .cargo/bin等等。

关于rust - rust 安装在其他用户的主目录下如何执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43200423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com