この記事はLinuxでのジョークプログラムとして割と有名で、Twitterのシェル芸Botでも一時期使われてたCureutilsをCentOS7にインストールする備忘録記事です。
CentOS7ではPython2.7が入っており、なにもしてないとインストール時にエラーを吐くのでrbenvを使ったバージョン変更も解説します。
どうでもいいけどCureutilsのロゴ良すぎるよね。(CureutilsのGitHubのREADME.mdで見れます)
注意事項
この記事に記載されている内容を実行し、発生したいかなる問題について当サイト管理者は一切責任を負いません。自己責任でお願いします。
目次
- 注意事項
- 目次
- 環境
- やり方
- 必須パッケージをインストールする
- rbenvをインストールする
- rbenvのファイル群をダウンロード(クローン)する
- .bash_profileに環境変数(PATH)にrbenvのパスを追記させる
- rbenvが使用できるか確認
- rbenvでインストールするために、ruby-buildプラグインを導入する
- Ruby2.2.2以上をインストールする
- Cureutilsをインストールする
- cureコマンドが実行できるか確かめる
- Ruby2.1で作業をしようとすると…
- 終わりに
環境
- 実施鯖: Comet
- CentOS 7.6.1810
- gemバージョン: 2.6.14
- Cureutilsバージョン: 1.2.0
- rbenvバージョン: 1.1.2-2-g4e92322
やり方
必須パッケージをインストールする
もし以下に記載するパッケージがインストールされてないのであれば、yum等でインストールをしてください。
- git
- gcc
- gcc-c++
- openssl-devel
- readline-devel
rbenvをインストールする
まずは、CureutilsをインストールするためにRubyのバージョンを一時的に変更したいので、rbenvというものをインストールします。
rbenvのファイル群をダウンロード(クローン)する
ホームディレクトリの直下に.rbenv
というディレクトリを作り、そこにrbenvのファイルをダウンロード(Gitでクローン)します。
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
ちなみに、sstephenson/rbenv
で解説している記事がありますが、執筆時現在アクセスするとrbenv/rbenv
にリダイレクト(転送)されますので、どっちでも構いませんがまあrbenv/rbenv
で良いと思います。
.bash_profileに環境変数(PATH)にrbenvのパスを追記させる
SSHなどでの接続時など(bash起動時)にロードされる.bash_profile
というのがあります。
ここに、環境変数(PATH)にrbenvなパスを追記させるコードを書き、SSHなどでの接続後にrbenvが使えるようにします。
なお、.bash_profile
はユーザー毎なので、ここで説明しているようにrbenvをインストールしても他のユーザー(ホームディレクトリが異なるユーザー)は利用できないことに注意してください。
以下の2つのコマンドを実行し、.bash_profile
に書き込みます。
1つめのコマンドは環境変数への追記コマンド、2つめのコマンドはrbenvの初期処理(init)をさせるコマンドを書き込むコマンドです。言葉が回りくどっ
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
実行し終えたら、SSHなどを接続し直すか以下のコマンドを実行して.bash_profile
を再度読み込みます。
source ~/.bash_profile
rbenvが使用できるか確認
rbenv -v
を実行し、rbenvのバージョンが表示されるかどうかを確認しましょう。
コマンドが見つかりません
やcommand not found
などが出る場合はインストールに失敗しています。ここまでの作業でエラーなどが発生していないかどうかを確認してみてください。
rbenvでインストールするために、ruby-buildプラグインを導入する
実は、rbenvをインストールしただけではrbenvを使って新規に別のバージョンのrubyをインストールをすることはできません。(rbenv install
がない)
それをできるようにするために、ruby-build
というプラグインを導入します。
以下のコマンドを実行しましょう。
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
これを導入すると、rbenv install
が使用できるようになります。
Ruby2.2.2以上をインストールする
CureutilsのREADME.mdにも以下のように記載があるとおり、インストールおよび実行にはRuby2.2.2以上が必要となります。
Requirements
ruby >= 2.2.2
なので、rbenvでRubyの最新版をインストールします。
rbenv install -l
でインストール可能なrubyの一覧を表示できますが、TruffleRubyやらRubinius(rbx)やらも表示されて見にくいので、rbenv install -l | grep -G "^ 2\."
とか使って2.x.x系だけ表示させるとかするのが楽かと。
執筆時には以下のように表示されました。
[#21 [email protected] 23:18:59 ~]$ rbenv install -l | grep -G "^ 2\."
2.0.0-dev
2.0.0-preview1
2.0.0-preview2
(略)
2.6.0-preview1
2.6.0-preview2
2.6.0-preview3
2.6.0-rc1
2.6.0-rc2
2.6.0
2.6.1
2.6.2
2.6.3
2.7.0-dev
2.7.0のdevが利用できますが、とりあえずここでは最終安定版である2.6.3を選びます。実施時の使用可能バージョンに応じてインストールするバージョンを選択してください。
インストールするには以下のコマンドを実行します。少し時間がかかりますので、お茶でも飲んで気長に待ちましょう。
rbenv install 2.6.3
Installed ruby-2.6.3
などと出たら、インストール完了です。
実行するRubyのバージョンを指定する
一時的にRubyのバージョンを切り替えます。今回は「ローカル」として、実行中のディレクトリ以下でのみそのバージョンで実行されるようにします。
以下のコマンドを実行します。
rbenv local 2.6.3
コマンドを実行すると、実行したカレントディレクトリに.ruby-version
というファイルが生成されます。このファイルに選択したバージョンが入力されています。
バージョンに応じたコマンドの振り分けをさせる
rbenv rehash
を実行すると、rubyコマンドやgemコマンドなどをバージョンごとに振り分けさせるそうです。たぶん。
なので、とりあえず実行しておきましょう。
とりあえず、ここまで作業をすればCureutilsをインストールする環境が出来上がります。
Cureutilsをインストールする
Rubyのバージョンを変更したところで、やっとCureutilsをインストールすることができます。
ここからは簡単です。以下のコマンドを実行しましょう。
gem install cureutils
cureコマンドが実行できるか確かめる
Cureutilsのインストールが出来たら、さっそくcure
コマンドを使ってみましょう。
cure
と実行すると、使用可能なコマンドの一覧が出力されます。
詳しい使い方はCureutilsのGitHubのREADME.mdをチェック。
Ruby2.1で作業をしようとすると…
[#30 [email protected] 22:53:11 ~]$ gem install cureutils
Fetching: thor-0.20.3.gem (100%)
Successfully installed thor-0.20.3
Fetching: concurrent-ruby-1.1.5.gem (100%)
Successfully installed concurrent-ruby-1.1.5
Fetching: i18n-1.6.0.gem (100%)
ERROR: Error installing cureutils:
i18n requires Ruby version >= 2.3.0.
と出る。なんかCureutilsのRequirements表記とズレてるけど、まあ最新版をインストールするので問題なし。
終わりに
私自身はプリキュア好きではないですが、一部の曲自体は好きです。(キラリ☆彡スタートィンクルプリキュア・パペピプ☆ロマンチック)
アニメは自分から見たことがありません。
まあ、プリキュアにドハマりしている人たちを貶したり人格否定とかをする気は全くありませんが、強要はダメだぞ!w
以上。