如何为IntelliJ IDEA的Rust项目提供标准库源?

时间:2017-01-04 12:39:43

标签: intellij-idea rust homebrew

我正在使用Mac进行开发。我使用brew install rust安装了Rust 1.13.0,为IntelliJ IDEA安装了Rust插件0.1.0.1385。我使用cargo创建了我的第一个测试项目,并在使用IDEA打开它时收到了消息

  

找不到标准库来源,某些代码洞察力无效

我还没有找到任何安装源,也没有找到Homebrew中的Rust源代码包。

如何忽略此步骤,如何为项目提供资源以及实际意义?

7 个答案:

答案 0 :(得分:19)

如评论所述,支持的方法是使用rustup

  • 导航至https://rustup.rs/并按照适用于您平台的安装说明进行操作。
  • 通过运行rust-src
  • 添加rustup component add rust-src组件
  • 在IntelliJ中创建一个新的Rust项目,然后选择现有的Rust项目源。如果该文件夹已包含以前的IntelliJ项目文件,则可能必须先将其删除才能继续。
  • IntelliJ-Rust应自动配置标准库源以指向rustup下载的源。

答案 1 :(得分:1)

作为参考,由于问题标题很广泛,对于 Fedora 28 我不得不:

dnf install cargo rust-src
sudo ln -s /usr/lib/rustlib/src /usr/lib/rustlib/x86_64-unknown-linux-gnu/

然后将/usr/lib/rustlib/x86_64-unknown-linux-gnu/src/rust/src作为“标准库”

完整设置: enter image description here

Issue打开以简化流程

答案 2 :(得分:1)

当不使用rustup安装程序时,可以安装源程序包并指示rust插件使用这些程序包:

enter image description here

(已在CLion 2020.2.1,rust-1.46.0-x86_64-pc-windows-gnu.msi,rustc-1.46.0-src.tar.gz中进行了测试。离线Rust安装程序和源归档文件都来自其中:{{ 3}})

答案 3 :(得分:0)

我遇到了同样的问题,因为我遵循了《电子书》中的设置说明。

要证明它不起作用,请键入$ which rustup并且它不会回答。

因此,为了避免在IDEA中出现这种情况,您应该先卸载Rust:

  1. 以root用户身份运行/usr/local/lib/rustlib/uninstall.sh来卸载Rust

  2. 按照https://www.rust-lang.org/en-US/install.html或仅$ curl r/[https://sh.rustup.rs](https://sh.rustup.rs) \-sSf | sh

  3. 上的安装说明进行操作
  4. 现在$ which rustup应该可以工作,将该路径复制到IDEA。

  5. 现在它将丢失工具链,它在这里:/home/username/.cargo/bin

  6. 和标准库,IDEA会告诉它可以下载

现在可以了。

答案 4 :(得分:0)

尽管其他文章指出,安装Rust的首选方法是使用rustup,但使用发行版提供的软件包并不罕见。

例如,我使用了Gentoo提供的软件包,并且我对标准库的未预填充字段存在相同的问题。 不过,您可以通过键入以下find命令轻松地找到标准库的安装位置:

find /usr/lib* -type d -name "rust" | grep src

或以下内容(如果您在家中安装了锈迹)

find  -type d -name "rust" | grep src

前面的命令将有所帮助,除非,当然,在您的发行版中,有一个用于二进制文件的软件包和一个用于源代码的软件包,而您仅安装了二进制文件。

答案 5 :(得分:0)

我知道问题是针对MacOS的,但是在Linux上搜索时会显示此答案。下面我将回答Ubuntu。

对于Ubuntu 20.04,路径为/usr/lib/rustlib/src/rust/src


我的方法是:

  • 从存储库中安装了rustc,其中包括货物
sudo apt install rustc
  • 然后安装锈源程序包
sudo apt install rust-src
  • 我使用apt-file(可以与sudo apt install apt-file一起安装)搜索源的安装路径
sudo apt-file update
apt-file list rust-src

这将路径显示为/usr/src/rustc-1.41.0/src

但是ls -la中的/usr/lib/rustlib/将显示符号链接,并且/usr/lib/rustlib/src/rust/src指向先前找到的目录。

在IntelliJ上使用符号链接将在新的rust版本中生存。

答案 6 :(得分:0)

对于Fedora 32,请使用以下命令安装Rust:

dnf install cargo rust-src

到标准库源的路径为:

/usr/lib/rustlib/src/rust