【Raspberry Pi 4】にRustをインストールする方法

本記事ではRaspberry Pi 4にRustをインストールする方法を解説しています.
通常の手順でインストールを実施するとうまくいかなかったケースも記載しているので,参考にしてください.

環境

  • ラズパイのモデル: Raspberry Pi 4 Model B Rev 1.5
  • Macからsshで接続して操作
確認コマンド

cat /proc/cpuinfo | grep Model

インストール手順

Rustの公式サイトにある以下のコマンドをターミナルで実行.


curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

上記を実行すると以下のような出力が出てくるので,2を入力してreturnを押す.

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>2

カスタマイズ項目について複数確認されるため,以下のように対応

  • Default host triple? [aarch64-unknown-linux-gnu]
    • armv7-unknown-linux-gnueabihf を入力してreturn
  • Default toolchain? (stable/beta/nightly/none) [stable]
    • 何も入力せずreturn
  • Profile (which tools and data to install)? (minimal/default/complete) [default]
    • 何も入力せずreturn
  • Modify PATH variable? (Y/n)
    • n を入力してreturn

オプションが以下のように切り替わるので1を押してreturn
(前の手順で変更した内容でインストールが実行される)

Current installation options:

   default host triple: armv7-unknown-linux-gnueabihf
     default toolchain: stable
               profile: default
  modify PATH variable: no

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>1
Rust is installed now. Great!

To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH
environment variable. This has not been done automatically.

To configure your current shell, run:
source "$HOME/.cargo/env"

インストールが完了したら以下のコマンドでPATHを通す.


# viで.bash_profileを開く
sudo vi ~/.bash_profile

# 以下をファイルの最後に追記
export PATH="$HOME/.cargo/bin:$PATH"

以下のコマンドで変更を反映


source ~/.bash_profile

インストールの確認として以下のコマンドで結果が出力されることを確認します.

  • rustup -V
  • cargo -V
  • rustc -V

rustup -V
rustup 1.26.0 (5af9b9484 2023-04-05)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.71.0 (8ede3aae2 2023-07-12)`

cargo -V
cargo 1.71.0 (cfd3bbd8f 2023-06-08)

rustc -V
rustc 1.71.0 (8ede3aae2 2023-07-12)

無事にインストールできました!

参考:インストールできなかった例

※ こちらでは参考までにインストールに苦戦した状況を書いています.


Rustの公式サイトにある以下のコマンドをターミナルで実行.


curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

上記を実行すると以下のような出力が出てくるので1を入力してreturnを押す.

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>1

すると,以下のような権限エラーが出た.

error: could not amend shell profile: '/home/XXX/.bash_profile': could not write rcfile file: '/home/XXX/.bash_profile': Permission denied (os error 13)

上記のような権限エラーが出たため後続のコマンドにsudoをつけて再度実行し,前述と同様にデフォルトでインストールを進める.


curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sudo sh
Rust is installed now. Great!

To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).

To configure your current shell, run:
source "$HOME/.cargo/env"

成功した様子なので出力の指示に従い以下のコマンドでPATHを通す.


source "$HOME/.cargo/env"

インストールの確認として,以下のコマンドが実行できるか確認.

  • rustup -V
  • cargo -V
  • rustc -V

まずはrustupコマンドを確認.


rustup -V
rustup 1.26.0 (5af9b9484 2023-04-05)
info: This is the version for the rustup toolchain manager, not the rustc compiler.

rustupは問題なさそうなので,他のコマンドも確認する.


cargo -V
error: rustup could not choose a version of cargo to run, because one wasn't specified explicitly, and no default is configured.
help: run 'rustup default stable' to download the latest stable release of Rust and set it as your default toolchain.

エラーが出ており,ヘルプとして安定版を勧められているので以下のコマンドを実行して様子を確認.
(実行するとインストールが始まって,色々と更新されている様子)


rustup default stable

インストールが終わったので,再度cargoコマンドを実行して確認.


cargo -V
error: command failed: 'cargo': No such file or directory (os error 2)

あれ?
PATHは通っているし,PATHで指定している~/.cargo/bin配下にもcargoがあるのに,何故か認識されない・・・

rustcも同様・・・


rustc -V
error: command failed: 'rustc': No such file or directory (os error 2)

本来であれば問題なくインストールできるはずでしたが,上記のような流れでうまくいかず・・・
試行錯誤してインストールできたのが本記事の最初に記載した手順です.

ひとこと

PythonのPoetryをインストールするためにRustが必要だったのですが大きく時間を使ってしまいました.
この記事が同じ現象に悩まれている方の参考になれば幸いです.