Raspberry Pi2にtwitter gemをインストールする方法。

まぁ備忘録です。

 

こんにちはCoarsePaper管理人のほりー(@CoarsePaper)です。Raspberry Pi2を購入して周辺機器も揃い、いよいよいじっていこうと思います。

 

とりあえずRaspberry Pi2の強みは省電力性なので、ずっと起動しておく必要があるものを作ってみたいということでtwitter botの運用を考えました。

Raspberry PiのOSはRaspbianを使っています。言語はRubyを用います。ラズパイならPythonって感じの雰囲気なんですけど、Rubyの勉強のほうがモチベあるので…

 

さてRubyでtwitter botを作成するにあたってまず必要なのがtwitterのAPIを呼びこむgemライブラリです。今回はそのライブラリをインストールした時に発生したエラーとその解決方をメモっておきたいと思います。

 

twitter gemインストール手順

普通にインストールを試みた所こうなりました。


$ sudo gem install twitter
 Building native extensions. This could take a while...
 ERROR: Error installing twitter:
 ERROR: Failed to build gem native extension.

/usr/bin/ruby1.9.1 extconf.rb
 /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
 from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
 from extconf.rb:1:in `<main>'
 Gem files will remain installed in /var/lib/gems/1.9.1/gems/http_parser.rb-0.6.0 for inspection.
 Results logged to /var/lib/gems/1.9.1/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/gem_make.out

 

Failed to build gem native extension.とか言われています。

調べてみるとrubyのdevパッケージが無いのが原因の模様。

ruby-devをインストールします。


$ sudo aptitude -y install ruby-dev
The following NEW packages will be installed:
 ruby-dev ruby1.9.1-dev{a} 
0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,265 kB of archives. After unpacking 2,996 kB will be used.
Get: 1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main ruby1.9.1-dev armhf 1.9.3.194-8.1+deb7u5 [1,259 kB]
Get: 2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main ruby-dev all 1:1.9.3 [6,082 B]
Fetched 1,265 kB in 1s (836 kB/s) 
Selecting previously unselected package ruby1.9.1-dev.
(Reading database ... 79024 files and directories currently installed.)
Unpacking ruby1.9.1-dev (from .../ruby1.9.1-dev_1.9.3.194-8.1+deb7u5_armhf.deb) ...
Selecting previously unselected package ruby-dev.
Unpacking ruby-dev (from .../ruby-dev_1%3a1.9.3_all.deb) ...
Setting up ruby1.9.1-dev (1.9.3.194-8.1+deb7u5) ...
Setting up ruby-dev (1:1.9.3) ...

 

もう一度twitter gemのインストールを試みると


$ sudo gem install twitter
Building native extensions. This could take a while...
Fetching: http-0.6.4.gem (100%)
Fetching: json-1.8.3.gem (100%)
Building native extensions. This could take a while...
Fetching: thread_safe-0.3.5.gem (100%)
Fetching: memoizable-0.4.2.gem (100%)
Fetching: naught-1.0.0.gem (100%)
Fetching: simple_oauth-0.3.1.gem (100%)
Fetching: twitter-5.14.0.gem (100%)
Successfully installed http_parser.rb-0.6.0
Successfully installed http-0.6.4
Successfully installed json-1.8.3
Successfully installed thread_safe-0.3.5
Successfully installed memoizable-0.4.2
Successfully installed naught-1.0.0
Successfully installed simple_oauth-0.3.1
Successfully installed twitter-5.14.0
8 gems installed
Installing ri documentation for http_parser.rb-0.6.0...
Installing ri documentation for http-0.6.4...
Installing ri documentation for json-1.8.3...
Installing ri documentation for thread_safe-0.3.5...
Installing ri documentation for memoizable-0.4.2...
Installing ri documentation for naught-1.0.0...
Installing ri documentation for simple_oauth-0.3.1...
Installing ri documentation for twitter-5.14.0...
Installing RDoc documentation for http_parser.rb-0.6.0...
Installing RDoc documentation for http-0.6.4...
Installing RDoc documentation for json-1.8.3...
Installing RDoc documentation for thread_safe-0.3.5...
Installing RDoc documentation for memoizable-0.4.2...
Installing RDoc documentation for naught-1.0.0...
Installing RDoc documentation for simple_oauth-0.3.1...
Installing RDoc documentation for twitter-5.14.0...

うまくいきました。

 

ではでは〜

Share your thoughts