我想使用Rust的“nightly”构建来使用Arrow和Datafrons。根据this post和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条答案
按热度按时间kadbb4591#
我也有类似的问题。
字符串
有趣的是,如果我删除
.toml
扩展,它可以工作:型
当然,toml扩展看起来应该没问题,不知道为什么它不工作:
在这些情况下,工具链可以在项目的目录中命名为rust-toolchain.toml或rust-toolchain。
https://rust-lang.github.io/rustup/overrides.html?#the-toolchain-file
它也适用于我,只是单词
nightly
,所以我不知道为什么它不适合你,但它似乎可能有一些怪癖。也许你可以用
rust-toolchain
文件试试TOML
语法?编辑:看起来
.toml
扩展是recent development,也许这本书的更新是在工具更新之前发布的。编辑2:最新的rustup版本是20201202的1.23.1,这是我运行的版本,所以我的问题可能就在这里。你运行的是什么版本的rustup?
https://github.com/rust-lang/rustup/releases的
pbpqsu0x2#
rustup default
打印全局默认工具链。您可以运行rustup show
以获取当前目录的活动工具链:字符串
设置目录覆盖将修改活动工具链:
型
请注意 default 工具链仍然非常稳定,但 active 工具链改为nightly。要更改全局默认值,您可以运行
default
命令:型
mf98qq943#
如果您在macOS上,请通过运行以下命令确保未使用Homebrew安装的rust:
字符串
如果它输出类似
/opt/homebrew/bin/cargo
的东西,尝试卸载Homebrew rust(brew uninstall rust
),然后再次运行which cargo
-它应该输出类似/Users/jameshiew/.cargo/bin/cargo
的东西,cargo --version
应该根据你的rust-toolchain.toml
输出版本。vbkedwbf4#
做一个
rustup update
,这应该可以工作。