読者です 読者をやめる 読者になる 読者になる

ぱらつり記

No description

Ruby2.2.2でgemgemしようとしたらopensslでコケた

新しいRubyをビルドして入れたらgemが使えなかった。

$ sudo gem install...
Error: while executing gem (Gem::Exception)
  Unable to require openssl. install openSSL and rebuilt ruby (preferred) or use non HTTPs sources

こんな感じ。

google先生に聞いてリビルドしたけれどもなかなかうまく行かず、4回目にしてようやく通る結果に。

解決したやり方

$ cd ~/build/ruby-2.2.2
$ ./configure
$ make
$ sudo make install
$ cd ext/openssl
$ ruby extconf.rb
$ make
[error]
make: *** No rule to make target `/ruby.h', needed by `ossl.o'.  Stop.

ここでMakefileを編集して、

topdir = ...
top_srcdir = /home/paltee/build/ruby-2.2.2 # 追記
$ make
$ sudo make install
$ cd ../../
$ ./configure && make
$ sudo make install
$ irb
irb(main):001:0> require 'openssl'
=> true

opensslは通った

$ sudo gem install pry
$ pry
Sorry, you can't use Pry without Readline or a compatible library.
Possible solutions:
 * Rebuild Ruby with Readline support using `--with-readline`
 * Use the rb-readline gem, which is a pure-Ruby port of Readline
 * Use the pry-coolline gem, a pure-ruby alternatie to Readline

またリビルドするのは勘弁だったのでgem install rb-readineしました。

2.1入れたときは苦労した記憶無かった気がするけど…忘れただけ?

参考

stackoverflow.com

ameblo.jp