2016-06-26 4 views
4

Недавно я загрузил и распаковал язык ржавчины с this site (Linux 64-bit).Компилятор ржавчины не может найти ящик для 'std'

Затем я установил Rust, используя данный скрипт в скачать install.sh:

[email protected]:~# /root/rust-1.9.0-x86_64-unknown-linux-gnu/install.sh 
install: uninstalling component 'rustc' 
install: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh 
install: installing component 'rustc' 
install: installing component 'rust-std-x86_64-unknown-linux-gnu' 
install: installing component 'rust-docs' 
install: installing component 'cargo' 

    Rust is ready to roll. 

Я пытаюсь установить ящик с грузом, но продолжают работать в эту ошибку:

[email protected]:~# cargo install racer 
    Updating registry `https://github.com/rust-lang/crates.io-index` 
    Compiling winapi v0.2.7 
    Compiling bitflags v0.5.0 
error: can't find crate for `std` [E0463] 
error: aborting due to previous error 
Build failed, waiting for other jobs to finish... 
error: can't find crate for `std` [E0463] 
error: aborting due to previous error 
error: failed to compile `racer v1.2.10`, intermediate artifacts can be found at `/root/target-install` 

cargo install cargo-edit не удалось с тем же результатом, что и выше, поэтому он не ограничивается одним конкретным пакетом.

Даже положить простую программу:

fn main() { 
    println!("Hello, world!"); 
} 

в файле с именем hello.rs и работает rustc hello.rs не компилируется; он дает ту же ошибку: error: can't find crate for 'std' [E0463].

Загрузка указана с каталогом rust-std-x86_64-unknown-linux-gnu, который я предполагаю, это ящик std. Как я могу указать rustc найти этот каталог при попытке найти ящик std?

+0

Вы можете скомпилировать Rust код, отличный гонщик? Например, попробуйте «load install cargo-edit». Хотя Racer нуждается в исходном коде std, сообщение об ошибке звучит так: * компилятор * не может найти двоичные файлы std *, поэтому он даже не может компилятор Racer. – delnan

+1

@ delnan: Видимо даже «Привет, мир!» не компилируется, поэтому я хотел бы согласиться с тем, что здесь проблема 'rustc' не знает, где находится ящик' std'. –

+0

Вы можете попробовать использовать [rustup] (https://www.rustup.rs/). –

ответ

1

Следующее будет работать для простейших компиляций. Предполагая, что вы извлекли архивный файл, скажем

$HOME/rust-1.10.0-x86_64-unknown-linux-gnu 

Затем запустите

arch=x86_64-unknown-linux-gnu 
dl=$HOME/rust-1.10.0-$arch 
$dl/rustc/bin/rustc -L $dl/rustc/lib \ 
    -L $dl/rust-std-$arch/lib/rustlib/$arch/lib \ 
    hello.rs 

Но я уверен, что лучший способ будет работать rustup, как Крис Морган предложить.

пара больше очков

  1. Вы не должны компилировать код в качестве корня.
  2. Возможно, вам придется переустановить или запустить bash -l, чтобы настроить среду rustup.

(Fellow ржавчины Newb здесь)

 Смежные вопросы

  • Нет связанных вопросов^_^