0

我想使用 Rust “夜间”构建来使用 Arrow 和 Datafusion。根据这篇文章和 rustup,我应该能够将一个 rust-toolchain 文件放在项目的主目录中,其中只包含“nightly”这个词,这应该使它成为该项目的默认构建。但是,这是行不通的。

关于我所缺少的任何建议?

当我检查默认值时,我看到它正在使用“稳定”构建。

(base) Apples-MBP:data_fusion_tutorial Daniel$ rustup default
stable-x86_64-apple-darwin (default) 

这是我的项目目录的样子:

(base) Apples-MBP:data_fusion_tutorial Daniel$ ls -a
.       ..      .git        .gitignore  Cargo.lock  Cargo.toml  rust-toolchain  src     target

如果我跑

rustup override set nightly

然后项目构建正常,但默认仍然是“稳定的”。

4

3 回答 3

1

rustup default打印全局默认工具链。您可以运行rustup show以获取当前目录的活动工具链:

$ rustup show

installed toolchains
--------------------
stable-x86_64-unknown-linux-gnu (default)
nightly-x86_64-unknown-linux-gnu

active toolchain
----------------
rustc 1.48.0 (7eac88abb 2020-11-16)

设置目录覆盖将修改活动工具链:

$ rustup override set nightly
$ rustup show

installed toolchains
--------------------
stable-x86_64-unknown-linux-gnu (default)
nightly-x86_64-unknown-linux-gnu

active toolchain
----------------
nightly-x86_64-unknown-linux-gnu (directory override for '/currentproject')
rustc 1.50.0-nightly (e792288df 2020-12-05)

请注意,默认工具链仍然是多么稳定,但活动工具链更改为 nightly。要更改全局默认值,您可以运行以下default命令:

$ rustup default nightly
$ rustup default
nightly-x86_64-unknown-linux-gnu (default)
于 2020-12-17T22:27:06.267 回答
1

我有一个类似的问题。

$ cat rust-toolchain.toml
[toolchain]
channel = "nightly"
$ rustup show
Default host: aarch64-apple-darwin
rustup home:  /Users/n8henrie/.rustup

installed toolchains
--------------------

stable-aarch64-apple-darwin (default)
nightly-aarch64-apple-darwin

active toolchain
----------------

stable-aarch64-apple-darwin (default)
rustc 1.50.0 (cb75ad5db 2021-02-10)

有趣的是,如果我删除.toml扩展名,它会起作用:

$ mv rust-toolchain{.toml,}
$ rustup show
Default host: aarch64-apple-darwin
rustup home:  /Users/n8henrie/.rustup

installed toolchains
--------------------

stable-aarch64-apple-darwin (default)
nightly-aarch64-apple-darwin

active toolchain
----------------

nightly-aarch64-apple-darwin (overridden by '/path/to/cwd/rust-toolchain')
rustc 1.52.0-nightly (3a5d45f68 2021-03-09)

看起来toml扩展应该没问题,不知道为什么它不起作用:

在这些情况下,工具链可以在项目目录中名为 rust-toolchain.toml 或 rust-toolchain 的文件中命名。

它也适用于我这个词nightly,所以我不确定为什么它不适合你,但似乎这里可能有一些怪癖。

也许您可以尝试TOML使用名为 file 的语法rust-toolchain

编辑:看起来.toml扩展是最近的开发,也许这本书的更新是在工具更新之前发布的。

EDIT2:最近的 rustup 版本是 20201202 的 1.23.1,这是我正在运行的,所以我的问题可能就在这里。你运行的是什么版本的 rustup?

https://github.com/rust-lang/rustup/releases

于 2021-03-12T16:07:01.047 回答
-1

做一个rustup update,这应该工作。

于 2021-05-11T18:30:59.517 回答