Rubyの更新
Ruby(asdf)
v1.17.0 から ruby のバージョン管理ツールが asdf に変更になりました。 ruby を asdf でインストールした場合は以下のような手順で変更してください。
# asdf install ruby VERSION
# asdf global ruby VERSION
VERSION
: ruby のバージョンはREADME.mdをご参照ください。
Ruby(rvm)
v1.17.0 から ruby のバージョン管理ツールが asdf に変更になりました。 従来通り rvm で管理する場合は、以下のような手順で変更してください。
# rvm get stable
# rvm install VERSION --disable-binary
# rvm use VERSION --default
VERSION
: ruby のバージョンはREADME.mdをご参照ください。
rvm get stable
を実行した際に Warning, RVM 1.26.0 introduces signed releases and automated check of signatures ...
のようなエラーが表示された場合、次のコマンドを実行し、適切な GPG キーをインポートしてください。
command curl -sSL https://rvm.io/pkuczynski.asc | gpg --import -
参考: https://github.com/rvm/rvm/issues/4533
何もエラーが表示されない場合は GPG キーのインポートは不要です。
Mecab Ruby
$ cd /usr/local/src/mecab-ruby-0.996
$ su -
# ruby extconf.rb
# make clean
# make
# make install
Unicorn 起動設定ファイル
OS 起動時に Unicorn を起動する設定が /etc/systemd/system/unicorn.service というファイルにあります。
古いバージョンの設定ファイルは ExecStart=
行が次のように設定されています。
古い ExecStart=
行:
ExecStart=/usr/local/rvm/bin/start_unicorn -c config/unicorn.rb -E production -D
上記のように設定されている場合、以下のように変更してください。
ruby を asdf でインストールした場合
新しい ExecStart=
行:
ExecStart=/bin/bash -lc 'bundle exec unicorn_rails -c config/unicorn.rb -D'
ruby を rvm でインストールした場合
新しい ExecStart=
行:
ExecStart=/usr/local/rvm/wrappers/default/bundle exec unicorn_rails -c config/unicorn.rb -D
Unicorn 再起動
Ruby をバージョンアップした際は Unicorn の restart では、正しく再起動しない場合があるため、stop してから start する方が安全です。
$ su -
# systemctl stop unicorn
# systemctl start unicorn
Unicorn が完全に停止しないうちに systemctl start unicorn
コマンドを実行するとエラーになる場合があります。エラーになる場合は、数秒置いてからもう一度実行してみてくだい。