はじめに
最近rubyを使う機会が増えたため、そろそろchromebookのローカル環境でも使えるようにしたいと考え、rubyとのインストールをやってみました。
(以前から、python, gitは使用していましたが、こちらはchromebookのlinux機能をオンにすることで標準で利用できていました)
実施環境
- chromebook c101pa
- Chrome OS 80.0.3987.158 (2020/4/1時点の最新版)
- linux(ベータ版) debian 10.3
やってみたこと、わかったことの概要
- rubyのインストールにはaptコマンドではなく、rbenvを使って実施。
- rbenvからrubyをインストールするには、事前にインストールが必要なパッケージがある(など)
- macや純粋なlinuxに比べてchromebookへのインストールは少し手順が複雑(文献も少ない)
手順
rbenvのインストール
rbenvをgithubからインストール
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
rbenvの設定を実施
# 「~/.rbenv/bin」を環境変数に追加するための記述を「~/.bashrc」に追記
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
# rbenvを初期化する記述を「~/.bashrc」に追記
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
# ~/.bashrcを読み込み
$ source ~/.bashrc
# path設定の確認
$ env | grep -i path
PATH=/home/xxxxxxxx/.rbenv/shims:/home/xxxxxxxx/.rbenv/bin: ~以降略
上記の手順でrbenvのインストールされたはずなので、確認します。
$ rbenv -v
rbenv 1.1.2-28-gc2cfbd1
ruby-buildのインストール
rbenvを実行させるために必要なプラグイン「ruby-build」をインストールします。
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
ruby-buildの設定
# 「ruby-build/bin」を環境変数に追加するための記述を「~/.bashrc」に追記
$ echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
完了したら、インストールできるバージョンの確認(最新の5つのバージョンのみ表示)
$ rbenv install --list | grep -v - | tail -5
2.6.4
2.6.5
2.6.6
2.7.0
2.7.1
rubyのインストール
今回は2.6.xの最新バージョンである、2.6.6をインストールすることとします。が、、
$ rbenv install -v 2.6.6
/tmp/ruby-build.20200401132705.1971.uWv7bJ ~
Downloading ruby-2.6.6.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.6.tar.bz2
/tmp/ruby-build.20200401132705.1971.uWv7bJ/ruby-2.6.6 /tmp/ruby-build.20200401132705.1971.uWv7bJ ~
Installing ruby-2.6.6...
checking for ruby... false
checking build system type... aarch64-unknown-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking target system type... aarch64-unknown-linux-gnu
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/tmp/ruby-build.20200401132705.1971.uWv7bJ/ruby-2.6.6':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
BUILD FAILED (Debian GNU/Linux 10 using ruby-build 20200401-2-g504f6e6)
はまったorz・・・・・
とはいえ、no acceptable C compiler found in $PATH てのが問題っぽい。cコンパイルのライブラリが足りないと推測をたて、色々ググる。
と、ここのページでは、debianのrubyインストール前にいろいろなパッケージをしていたので、これを参考に。確かにその中の build-essentialにはgccなどが含まれている。
$ sudo apt install libreadline-dev zlib1g-dev libreadline-dev libncurses5-dev autoconf bison libssl-dev build-essential libyaml-dev libffi-dev libssl-dev libreadline-dev zlib1g-dev libgdbm-dev
aptコマンド終了後に再度実施!
$ rbenv install -v 2.6.6
こんどは問題なくいってるっぽい。そして約20分後に終了。
インストールされているrubyのバージョンを確認。やったー!!
$ rbenv versions
2.6.6
ここまででは、単にrbenvに入っただけなので、適用にするRubyのバージョンを指定します。
今回はLinux全体に適用せるためにglobal指定で。(ディレクトリ単位などの場合はlocalを指定)
# 適用させるrubyのバージョンの指定
$ rbenv global 2.6.6
# rubyのバージョン確認
$ ruby -v
ruby 2.6.6p146 (2020-03-31 revision 67876) [aarch64-linux]
rubyのバージョン確認も問題なし!
$ which ruby
/home/XXXXX/.rbenv/shims/ruby #XXXXXはユーザ名
きちんとrbenvで管理されているrubyが適用されています。
rubyの動作確認
以下のファイルを作成&実行
puts "hello!"
$ ruby sample.rb
hello
きちんと動いた!
参考
-
【rbenvの使い方】RubyをCentOSにインストールしよう【超簡単】
→ OSのディストリビューションは異なりますが(chromebookはDebian)が大変参考になりました。 -
Github(rbenv)/Github(ruby-build)
→ いずれもreadme.mdファイルにインストールなどの説明が丁寧に書かれています。 -
Rubyのインストール
→ パッケージマネージャ(debianの場合は"apt")を使ったインストールをおすすめしない理由が書かれています。 -
How to Install Ruby on Debian 10
→ Debian(chromebook のlinuxデストリビューション)でrubyをインストールするマニュアル。失敗してググる中でこの記事にたどり着いたが、最初からこの記事通りにやっておけばすんなりいけたと思う。