rust 1.58がでたので、rustの環境を更新します。
PS C:\Users\led_l\rust_land\grep-lite> cargo --version cargo 1.57.0 (b2e52d7ca 2021-10-21) PS C:\Users\led_l\rust_land\grep-lite> rustc --version rustc 1.57.0 (f1edd0429 2021-11-29) PS C:\Users\led_l\rust_land\grep-lite> rustup update info: syncing channel updates for 'stable-x86_64-pc-windows-msvc' info: latest update on 2022-01-13, rust version 1.58.0 (02072b482 2022-01-11) info: downloading component 'rls' info: downloading component 'rust-src' info: downloading component 'rust-analysis' info: downloading component 'cargo' info: downloading component 'clippy' info: downloading component 'rust-docs' info: downloading component 'rust-std' info: downloading component 'rustc' 65.2 MiB / 65.2 MiB (100 %) 61.2 MiB/s in 1s ETA: 0s info: downloading component 'rustfmt' info: removing previous version of component 'rls' info: removing previous version of component 'rust-src' info: removing previous version of component 'rust-analysis' info: removing previous version of component 'cargo' info: removing previous version of component 'clippy' info: removing previous version of component 'rust-docs' info: removing previous version of component 'rust-std' info: removing previous version of component 'rustc' info: removing previous version of component 'rustfmt' info: installing component 'rls' info: installing component 'rust-src' info: installing component 'rust-analysis' info: installing component 'cargo' info: installing component 'clippy' info: installing component 'rust-docs' 18.8 MiB / 18.8 MiB (100 %) 3.9 MiB/s in 4s ETA: 0s info: installing component 'rust-std' 22.8 MiB / 22.8 MiB (100 %) 14.3 MiB/s in 1s ETA: 0s info: installing component 'rustc' 65.2 MiB / 65.2 MiB (100 %) 16.0 MiB/s in 4s ETA: 0s info: installing component 'rustfmt' warning: could not delete temp file: C:\Users\led_l\.rustup\tmp\dabwbj53qcrumybx_file warning: could not delete temp file: C:\Users\led_l\.rustup\tmp\hyd6el0xrjlole4q_file warning: could not delete temp file: C:\Users\led_l\.rustup\tmp\jtkz8r5o72l3qhu1_file info: checking for self-updates stable-x86_64-pc-windows-msvc updated - rustc 1.58.0 (02072b482 2022-01-11) (from rustc 1.57.0 (f1edd0429 2021-11-29)) info: cleaning up downloads & tmp directories thread 'main' panicked at 'Unable to clean up C:\Users\led_l\.rustup\tmp: Os { code: 5, kind: PermissionDenied, message: "アクセスが拒否されました。" }', src\utils\utils.rs:642:13 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace PS C:\Users\led_l\rust_land\grep-lite> rustc --version rustc 1.58.0 (02072b482 2022-01-11)
更新には成功しました。
warning: could not delete temp file: C:\Users\led_l\.rustup\tmp\dabwbj53qcrumybx_file
と警告が出ています。
rust - How to rustup update when permission is denied? - Stack Overflow
It looks like you installed the Rust toolchain using the root account.
なるほど、それらしいことが書かれています。 Windowsの場合どうすれば権限が変えられるのでしょうか? それ以前に、管理者権限でインストールしましたっけ? hello rust - @ledsun blog を見直してみます。
あまり深いことは考えずにWindows向けのRUSTUP-INIT.EXEの64ビット版をダウンロードしてインスートールします。
インストーラーを再度実行してもUACを要求されません。 rustup時もUACを要求されていません。 どうも管理者権限というわけではなさそうです。 次のissueを見つけました。
So, as a last resort, I shut down VS Code to terminate the RLS process which, to be clear, was running before I updated through rustup. Doing this allowed me to delete all of those temp files.
VS Codeを終了してみると
つまり、rustupで更新したいcargoやらrustcやらのファイルのロックを、VS Codeが起動しているrustのLanguage Serverがとっているので削除出来ないということみたいです。 試せていませんが、rustupが成功していても、VS Codeは古いバージョンのrustを動かし続けているのかもしれません。