Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Rust + Vim の開発環境を整える際の動く nightly の探し方

$
0
0

プロジェクトで最新の nightlyを使おうとした時に、ソースコードのコンパイルは通っても、開発支援ツールのダウンロードやインストールに失敗することがあります。

探し方

まずは適当なディレクトリで $ cargo initします。これはこの後の試行錯誤の時間を短くするためです。

$ cd /tmp
$ cargo init foo
$ cd foo/

後は rust-toolchainを追加し、日付を徐々に古くしつつチェック用の一連のインストールコマンドを実行していきます。

rust-toolchainについてはこの辺りをご参考に。

記事を書いている時点での最新の nightlynightly-2019-10-31なので、そこから試していきます。

$ echo nightly-2019-10-31 > rust-toolchain; cargo check && rustup component add rustfmt rust-analysis rust-src rls-preview && cargo install racer --force
    Checking foo v0.1.0 (/private/tmp/foo)
    Finished dev [unoptimized + debuginfo] target(s)in 0.35s
info: component 'rustfmt'for target 'x86_64-apple-darwin' is up to date
info: component 'rust-analysis'for target 'x86_64-apple-darwin' is up to date
info: component 'rust-src' is up to date
error: component 'rls'for target 'x86_64-apple-darwin' is unavailable for download for channel nightly-2019-10-31

失敗しました。次は nightly-2019-10-30を試していきます。

$ echo nightly-2019-10-30 > rust-toolchain; cargo check && rustup component add rustfmt rust-analysis rust-src rls-preview && cargo install racer --force
...(省略)...
error: component 'rls'for target 'x86_64-apple-darwin' is unavailable for download for channel nightly-2019-10-30

失敗しました。といった感じで、どんどん試していきます。

$ echo nightly-2019-10-29 > rust-toolchain; cargo check && rustup component add rustfmt rust-analysis rust-src rls-preview && cargo install racer --force
info: syncing channel updates for'nightly-2019-10-29-x86_64-apple-darwin'
info: latest update on 2019-10-29, rust version 1.40.0-nightly (b497e1899 2019-10-28)
error: component 'clippy'for target 'x86_64-apple-darwin' is unavailable for download for channel nightly-2019-10-29

$ echo nightly-2019-10-28 > rust-toolchain; cargo check && rustup component add rustfmt rust-analysis rust-src rls-preview && cargo install racer --force
...(省略)...
error: component 'rls'for target 'x86_64-apple-darwin' is unavailable for download for channel nightly-2019-10-28

$ echo nightly-2019-10-27 > rust-toolchain; cargo check && rustup component add rustfmt rust-analysis rust-src rls-preview && cargo install racer --force
...(省略)...
error: component 'rls'for target 'x86_64-apple-darwin' is unavailable for download for channel nightly-2019-10-27

$ echo nightly-2019-10-26 > rust-toolchain; cargo check && rustup component add rustfmt rust-analysis rust-src rls-preview && cargo install racer --force
...(省略)...
error: component 'rls'for target 'x86_64-apple-darwin' is unavailable for download for channel nightly-2019-10-26

$ echo nightly-2019-10-25 > rust-toolchain; cargo check && rustup component add rustfmt rust-analysis rust-src rls-preview && cargo install racer --force
...(省略)...
error: component 'clippy'for target 'x86_64-apple-darwin' is unavailable for download for channel nightly-2019-10-25

$ echo nightly-2019-10-24 > rust-toolchain; cargo check && rustup component add rustfmt rust-analysis rust-src rls-preview && cargo install racer --force
error: process didn't exit successfully: `rustc -vV` (exit code: 1)
--- stderr
error: 'rustc' is not installed for the toolchain 'nightly-2019-10-24-x86_64-apple-darwin'
To install, run `rustup component add rustc --toolchain nightly-2019-10-24-x86_64-apple-darwin`

nightly-2019-10-29から nightly-2019-10-24もだめでした。nightly-2019-10-23を試します。

$ echo nightly-2019-10-23 > rust-toolchain; cargo check && rustup component add rustfmt rust-analysis rust-src rls-preview && cargo install racer --force
info: syncing channel updates for'nightly-2019-10-23-x86_64-apple-darwin'
info: latest update on 2019-10-23, rust version 1.40.0-nightly (d6e4028a0 2019-10-23)
info: downloading component 'cargo'
info: downloading component 'clippy'
...(省略)...
info: downloading component 'rls'
info: installing component 'rls'
    Updating crates.io index
  Installing racer v2.1.28
   Compiling libc v0.2.65
...(省略)...
   Compiling racer v2.1.28
    Finished release [optimized] target(s)in 2m 54s
   Replacing /Users/daichi/.cargo/bin/racer
    Replaced package `racer v2.1.28` with `racer v2.1.28`(executable `racer`)

成功しました。というわけで、今回の場合は nightly-2019-10-23がちゃんと動く最新の nightlyとわかりました。

その他

普段 https://github.com/autozimu/LanguageClient-neovimを使っていまして、その設定内では例えば rustup run nightly-2019-10-23 rlsが呼ばれるように書かなければならないのですが、<toolchain>の部分 (nightly-2019-10-23) は必ず指定しなければなりません。rust-toolchainを書き換えるたびにこの設定を書き直すのは面倒だし忘れてしまいます。なので自分はこんなふうに書くようにしました。

letg:LanguageClient_serverCommands={  \'rust':['rustup','run', system("echo -n $(cat rust-toolchain)"),'rls'],  \}

https://github.com/hioki-daichi/nvim-config/blob/a745ec49036173685e02024ed43a54f037bb7205/deinlazy.toml#L26-L29


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>