スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

Mikutterで始めるておくれ最新Ruby(rbenv on LMDE)

Linux Mint Debian Editionで最新のRubyを入れてMikutterを動かそうのコーナー!!
DebianベースのためかデフォルトのRubyは1.9.3とちと古めなLMDEにrbenv入れてRuby2.1を入れてMikutter3.0α3を動かしてみたまでのメモ。

参考
rbenvとruby-buildでRuby環境を最新に保つのんなー
Rubyのインストール
rbenv で Ruby を Debian にインストール
rbenvとは複数の Ruby を管理することができるツール。
なのでこれ使えばソースコードから最新引っ張ってきてmake installしたあとで依存関係がアレなことになって何かしらのアプリがアレな事になる危険を減らして最新のRuby環境を構築できます。
別に1.9.3でもMikutterの最新α3は動いているので、特に必要はないんだけど、1.9だからのエラー?かも?なことが少々あったり、作者のtoshi_a氏が


などとのたまわっておりなんだか悔しいので何とかしてみました。

実行環境はLMDE 201403 x64 とりあえずCinnamon。リポジトリ追加とかで行けないかなーと思ったけどどーもうまく行かなかったのでrbenv使ってみることにしました。
たぶんUbuntuならリポジトリあると思う。たぶん。

・rubygems入れてみよー
まずはrubygems

$ sudo apt-get install rubygems
[sudo] password for tmin:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
ruby1.8
提案パッケージ:
ruby1.8-examples ri1.8 ruby-switch
推奨パッケージ:
ruby1.8-dev
以下のパッケージが新たにインストールされます:
ruby1.8 rubygems
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
(以下略


$ bundle install
Could not locate Gemfile


ダメじゃん。
というわけでバージョン確認したり設定ファイル持ってきたり。

$ gem -v
1.8.23
$ sudo gem install bundler
Successfully installed bundler-1.6.2
1 gem installed
Installing ri documentation for bundler-1.6.2...
Installing RDoc documentation for bundler-1.6.2...
$ bundle init
Writing new Gemfile to /home/tmin/Gemfile
$ bundle install
The Gemfile specifies no dependencies
Resolving dependencies...
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.


これでgem installが使えるようになる・・・はず。

・rbenv入れてRuby2.1使えるよ−にしてみよー
rbenv自体はフツーにリポジトリに上がっているのでaptで入れられます。

$ sudo apt-get install rbenv
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
rbenv


rbenv 単体では Ruby をインストールする機能がないらしいので,ruby-build をインストールしてみます。

$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
~/.rbenv/plugins $ git clone git://github.com/sstephenson/ruby-build.git
Cloning into 'ruby-build'...
remote: Reusing existing pack: 3312, done.
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 3318 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3318/3318), 560.20 KiB | 430.00 KiB/s, done.
Resolving deltas: 100% (1569/1569), done.
Checking connectivity... done.



さてここから本番。

$ rbenv install
Usage: rbenv install [-f] [-kvp]
rbenv install [-f] [-kvp]
rbenv install -l|--list

-l/--list List all available versions
-f/--force Install even if the version appears to be installed already
-s/--skip-existing Skip if the version appears to be installed already

ruby-build options:

-k/--keep Keep source tree in $RBENV_BUILD_ROOT after installation
(defaults to $RBENV_ROOT/sources)
-v/--verbose Verbose mode: print compilation status to stdout
-p/--patch Apply a patch from stdin before building

For detailed information on installing Ruby versions with
ruby-build, including a list of environment variables for adjusting
compilation, see: https://github.com/sstephenson/ruby-build#usage



と操作方法が出てきてくれたりするので、これを見ながらまずは-lつけてインストールできるRubyのバージョンを確認。

$ rbenv install -l


ずらっと出てきますが、今回はこの記事書いてる現在最新なんですか?の2.1.2を導入してみましょう。

$ rbenv install 2.1.2
Downloading ruby-2.1.2.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/a5b5c83565f8bd954ee522bd287d2ca1
Installing ruby-2.1.2...
Installed ruby-2.1.2 to /home/tmin/.rbenv/versions/2.1.2


ちょっと時間かかるけどまってるとDLからコンパイル、インストールしてくれます。
このあとパスがうまく通らなくて何度か試行錯誤したけれど。
結果うまく行ったのはこれ

$ export PATH="$HOME/.rbenv/bin:$PATH"
$ eval "$(rbenv init -)"


パスが通っているか確認。

$ echo $PATH
/home/tmin/.rbenv/shims:/home/tmin/.rbenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games


rbenvでシステムデフォルトのRubyのバージョン指定?

$ rbenv rehash
$ rbenv global 2.1.2
$ hash -r


シェルにログインしなおしたりしてみたりする。

$ exec $SHELL -l



確認

$ rbenv versions
system
* 2.1.2 (set by /home/tmin/.rbenv/version)
$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]


バージョンがさっきrbenvでインストールしたバージョンになってればおっけー。

・じゃあMikutter起動してみよー

$ ./mikutter.rb
Could not find gem 'oauth (~> 0.4) ruby' in the gems available on this machine.
Run `bundle install` to install missing gems.


あるぇー?エラーはいた上にMikutter上でRubyのバージョン確認してみると1.9.3になってるぞー?
Alt+xでRubyコマンド実行モードが動くのでこれで確認。

mikutter console.
下にRubyコードを入力して、Ctrl+Enterを押すと、ここに実行結果が表示されます
>>> RUBY_VERSION
"1.9.3"



おっかしーなー。
じゃあこれでどーだ。

$ ruby mikutter.rb
/home/tmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- gtk2 (LoadError)
(以下略)


起動コケタでござる。
落ち着いてエラーはいたと思われるあたりを入れてみましょう。
まずはoauth。これはエラー吐きつつも起動していたのでアレですけど。

$ gem install oauth
Fetching: oauth-0.4.7.gem (100%)
Successfully installed oauth-0.4.7
Parsing documentation for oauth-0.4.7
Installing ri documentation for oauth-0.4.7
Done installing documentation for oauth after 0 seconds
1 gem installed


さて、起動コケたネックとなったであろうgtk2。

$ gem install gtk2
Fetching: pkg-config-1.1.5.gem (100%)
Successfully installed pkg-config-1.1.5
Fetching: glib2-2.2.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed glib2-2.2.0
Fetching: atk-2.2.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed atk-2.2.0
Fetching: cairo-1.12.9.gem (100%)
Building native extensions. This could take a while...
Successfully installed cairo-1.12.9
Fetching: pango-2.2.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed pango-2.2.0
Fetching: gdk_pixbuf2-2.2.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed gdk_pixbuf2-2.2.0
Fetching: gtk2-2.2.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed gtk2-2.2.0
Parsing documentation for atk-2.2.0
Installing ri documentation for atk-2.2.0
Parsing documentation for cairo-1.12.9
Installing ri documentation for cairo-1.12.9
Parsing documentation for gdk_pixbuf2-2.2.0
Installing ri documentation for gdk_pixbuf2-2.2.0
Parsing documentation for glib2-2.2.0
Installing ri documentation for glib2-2.2.0
Parsing documentation for gtk2-2.2.0
Installing ri documentation for gtk2-2.2.0
Parsing documentation for pango-2.2.0
Installing ri documentation for pango-2.2.0
Parsing documentation for pkg-config-1.1.5
Installing ri documentation for pkg-config-1.1.5
Done installing documentation for atk, cairo, gdk_pixbuf2, glib2, gtk2, pango, pkg-config after 2 seconds
7 gems installed


しばらく時間かかりましたが他にも色々入ってきました。

それでは気を取り直して。。。

$ ruby mikutter.rb


今回は起動。
そしてMikutter上でAlt+xして使ってるRubyのバージョン確認。

mikutter console.
下にRubyコードを入力して、Ctrl+Enterを押すと、ここに実行結果が表示されます
>>> RUBY_VERSION
"2.1.2"


Screenshot from 2014-05-17 20:11:05右端のペインで確認とれてます。

どーも./mikutter.rbで起動するとシステムのRubyが2.1に指定されてても1.9の方で動いちゃう?パスがうまく通ってないのかそーいうものなのかよくわかりませんが。
で、ruby mikutter.rb ならばシステムで今指定しているrubyのバージョンで動いてくれるみたい。

ちなみに今、端末ソフトはTerminator使ってるんですが、新しく開いた端末では

$ ruby -v
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]


となってしまうので、2.1使いたいときには

$ export PATH="$HOME/.rbenv/bin:$PATH"
$ eval "$(rbenv init -)"
$ exec $SHELL -l
$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]


これでおっけー。

んー、このあたりは環境変数に書き加えたりすると面倒は減るかもしれませんね。
調べてて思ったんですが、みなさんnginxとかのためにRubyだけ最新にしたいとかそーいう用途のようで。
しかし僕は最新Mikutterを最新Rubyで動かすためだけにこの作業をしたので参考になったりならなかったりすることは多いでしょうね。
そもそもパスとかgemとかbundlerとかよくわからないまま使ってます。

それではみなさん、最新Rubyで楽しいMikutter Lifeを!!

関連記事
なぜMikutterは「当たった」のか
Mikutterにプラグイン突っ込んで(魔)改造しようず
Mikutter3.0αReleased!!
最新Mikutter3.1で始めるておくれ最新Ruby(rbenv on LMDE 2回目)
にわかでも浦島でも今から始めるMikutter
bundle installのエラーでglib2が入らない→解決
LMDE2にrbenvでruby2.2.2入れてmikutter起動まで(rbenv on LMDE 3回目)


関連記事
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

コメントの投稿

管理者にだけ表示を許可する
ブログ内検索

カスタム検索

フリーエリア

クリックで救える命がある。

レンタルサーバー

さくらのマネージドサーバ
さくらインターネットのVPS
ConoHaのVPS
WebARENA VPSクラウド
99円レンタルサーバー
【CloudCore VPS】
GMOクラウドのレンタルサーバー
転送量無制限 ABLENET
@WAPPYレンタルサーバー
SPPDレンタルサーバー

カテゴリー+月別アーカイブ

 

アクセスカウンター

現在の閲覧者数:

プロフィール

Author:tmin
PCヲタ。ライト2ちゃんねら。
スロット好きのギャンブラー。(元
むしろ人生がギャンブルだが目下のところ負けっぱなし。
座右の銘は「結果オーライ」。故に基本適当。
トラブルもまた楽しみのひとつ

コメント、トラバ、相互リンク歓迎。お気軽にどうぞ。
当ブログについて
Twitterでこっちとあっちの更新情報流すことにしてみます。
http://twitter.com/t_min
Project Mikunchu♪Wikiできました。
Mikunchu200x40.png


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。