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...
うまくいきました。
ではでは〜