WSLにanyenvを入れてrbenvを使ってrubyを動かすまで
お詫び
Qiitaの元記事にて、区切り線を「---」で書いている場所があり、これがZennの記法に干渉して一部うまく表示できない記事がある事を認識しています。
全ての記事を精査しきれていないため、お手数ですがお見かけの際は教えていただけると大変喜びます。
のスピンアウト記事です。
軽い気持ちでやってみたら案外ハマったので別記事にしました。
前提
- WSLが動いている
- linuxbrewが使える
- anyenvが使える
前提の手順については、上記記事をご参照ください。
1. rbenvをインストールする
anyenv install rbenv
超簡単!
うまく行かない場合はanyenvへのパスが通ってない可能性が高いと思います。
2. rubyをインストールする
私の環境ではここで問題が発生しました。
rbenv: no such command 'install'
と怒られる
rbenvまでのパスも通したのに、これはbrew install ruby-build
で解決できます。gccでもbuild-essentialsでもないんですね。ハマりやすいので気をつけて!
BUILD FAILEDになる
これはバージョンにもよると思いますが、現行で最新の3.0.3を入れようとすると「パッケージが足りてないので入れてね」と怒られていました。
私の環境で足りなかったのは以下の通り。
sudo apt install -y zlib1g-dev
これはエラーメッセージ内のTry running 'apt-get install -y zlib1g-dev' to fetch missing dependencies.
を落ち着いて読めば大したことないです。
だいたい公式サイトか、anyenv等を使用した場合に必要なパッケージが別途githubなどに書いてあると思いますので、そちらを参照するのが一番良い方法と思います。
3.rubyを実行する
ここでもハマりました。
Command 'ruby' not found
になる
インストールできたのにruby -vでインストールが上手く行ってもパスを設定する必要があったりします。
echo PATH="$HOME/.rbenv/shims:$PATH" >>$HOME/.profile
exec $SHELL -l
ruby -v
anyenvを介さない場合、rbenvでinstallした状態でrubyにパスが通っているのですが、anyenvだとrbenvでrubyがインストールされるパスが異なるため?か、うまくいきません。
解決方法としては、anyenvのrbenvで入れたrubyのパスを指定してあげればいいです。
それでもrubyが実行できない
rubyのインストールができたら、rbenv global (バージョン)
もお忘れなく。
それでもうまく行かない場合
どうしてもうまくいかないなら、インストールするバージョンは最新版に拘らず、古いものを使う方法も検討してみるのも良いかもしれません。
あるいは、個人開発と割り切ってapt install rubyとし、ディストリビューションで管理してしまう手もあります。
戻る
Discussion