"Невозможно найти ящик для` 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

В общем, это означает, что существует несколько версий стандартной библиотеки. Попробуйте переустановить или удалить, а затем снова установить, чтобы очистить его.