"Невозможно найти ящик для` std`" - ошибка компилятора с тривиальным кодом
Я только что обновился до последней ночи ржавчины:
> rustc --version
rustc 0.11.0-pre-nightly (05ca9f7 2014-06-24 22:06:48 +0000)
host: x86_64-apple-darwin
После этого даже тривиальная программа не компилируется со следующей ошибкой:
> cat main.rs
fn main() {
print!("Hello world");
}%
> rustc main.rs
main.rs:1:1: 1:1 error: can't find crate for `std`
main.rs:1 // Playground
^
error: aborting due to previous error
Это какая-то ошибка компилятора в ночное время, или я не понял какую-то основную идею на этом языке?
Ответы
Ответ 1
Оказалось, что если вы обновляетесь из "полустабильной" версии, установленной с помощью Homebrew
, сначала нужно удалить версию Homebrew
и только после этого установить каждую ночь.
В противном случае вы столкнетесь с проблемами, о которых идет речь: отсутствующие системные библиотеки и т.д., поскольку библиотеки ржавчины не используют управление версиями и находятся в одном месте.
Ответ 2
В общем, это означает, что существует несколько версий стандартной библиотеки. Попробуйте переустановить или удалить, а затем снова установить, чтобы очистить его.