やっつけ不定記

好きなときに好きなことをちゃっちゃと書いてます

mikutter 3.5→3.6

mikutterは3.5を使っているのですが、ちょっと前にmikutter3.6が公開されました。
一度バージョンアップチャレンジしたのですが、当時はあえなく撃沈。
以後しばらく放置していたのですが、ぼちぼち上げたいなとリトライ。
それなりの時間格闘することになりましたが、
何とかバージョンアップ出来たようなのでメモしておきます。


Ubuntu16.04のRuby2.4(PPA版)環境でやっていますが、
ほかにもツールが入っているので、この手順はあくまでも参考まで。


(1)IDN-Rubyを入れる。
$ sudo apt-get install libidn11-dev
$ sudo gem install idn-ruby


(2)Rubyのバージョン確認
$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux-gnu]
$ gem -v
2.6.14


(3)一旦検証
mikutter3.6はRuby2.3以降が最低動作要件だそうですが、
http://mikutter.hatenablog.com/entry/2017/12/07/200000
起動時のログを見る限り、


/usr/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require':
libruby.so.2.5: 共有オブジェクトファイルを開けません:
そのようなファイルやディレクトリはありません
- /home/chocopurin/apps/mikutter/vendor/idn.so (LoadError)


という記述。
Ruby2.5にしなければいけないのでは・・・!?という予感が走る。


(4)Ruby2.5インストール
ちょうど2月5日付でPPA
https://www.brightbox.com/blog/2018/02/05/ruby-2-5-ubuntu-packages/
ができたようなので、これで導入する。


$ sudo apt-add-repository ppa:brightbox/ruby-ng
$ sudo apt-get update
$ sudo apt-get install ruby2.5 ruby2.5-dev
$ ruby2.5 -v
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux-gnu]
$ gem2.5 -v
2.7.3


(5)Ruby2.4削除
Synapticパッケージマネージャからruby2.4,libruby2.4,ruby2.4-devを削除
$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux-gnu]
$ gem -v
2.7.3


(6)必要なGemパッケージの導入
$ sudo gem install rake
$ sudo gem install gtk2
$ sudo gem install idn-ruby


(7)librubyの読み込み
librubyは入っているが libruby.so.2.5 として読んでくれないようなので、
(かなり無理矢理っぽいけど)実体ファイルにシンボリックリンクを設定する。


$ cd /usr/lib/x86_64-linux-gnu
$ ls -al libruby*
lrwxrwxrwx 1 root root 14 2月 7 23:26 libruby-2.4.so.2.4 -> libruby.so.2.4
lrwxrwxrwx 1 root root 20 1月 31 01:33 libruby-2.5.so -> libruby-2.5.so.2.5.0
lrwxrwxrwx 1 root root 20 1月 31 01:33 libruby-2.5.so.2.5 -> libruby-2.5.so.2.5.0
-rw-r--r-- 1 root root 2763008 1月 31 01:33 libruby-2.5.so.2.5.0
-rw-r--r-- 1 root root 2650680 5月 2 2017 libruby.so.2.4
$ sudo ln -s libruby-2.5.so.2.5.0 libruby.so.2.5


(8)さらにGemパッケージの追加
$ sudo gem install twitter-text


(9)v2.jsonの設定
http://dev.mikutter.hachune.net/issues/1152
を踏んでいたようで v2.json の配置先を変更する。
$ cp -p /var/lib/gems/2.5.0/gems/twitter-text-2.1.0/config/v2.json (mikutterのディレクトリ)/config/


(10)さらにさらにGemパッケージの追加
$ sudo gem install moneta
$ sudo gem install nokogiri
$ sudo gem install httpclient
$ sudo gem install totoridipjp


(11)mikutter起動
動いた!!