Installing Gems without rvm, as root, with explicit version of ruby

坚强是说给别人听的谎言 提交于 2019-11-29 08:57:37
Mike

I had the same issue (linecache19 hangs forever/indefinitely) when using rbenv on OS X Lion. I found the solution was to install Ruby with OpenSSL option, like this:

rbenv install 1.9.2-p290 --with-openssl-dir=/usr/local
rbenv rehash
rbenv global 1.9.2-p290

Now, you can run or bundle this and it'll install fine:

gem install ruby-debug19

Hope that helps someone.

I had a similar issue and traced back the issue and solved it as follows:

The root of the issue is that in the gem installer.rb file the passed required ruby version from linecache19 is 1.9.2 while the Gem.ruby_version is something like 1.9.2.dev.30909, and ("1.9.2" >= "1.9.2.dev.30909") is false.

so first become sure that ruby version is 1.9.2:

ruby -v

then manually use --force to bypass version check:

gem install ruby_core_source
gem install linecache19 --force

if you faced with another error starting with following lines:

checking for vm_core.h... no
*** extconf.rb failed ***

You have to explicitly set the source path to vm_core.h

In my case:

$ which ruby
/Users/Reza/.rvm/rubies/ruby-1.9.2-rc2/bin/ruby
$ echo $rvm_path
/Users/Reza/.rvm/

so to install linecache19 :

gem install ruby_core_source
gem install linecache19 --force -- --with-ruby-include=$rvm_path/src/ruby-1.9.2-rc2/

ruby-debug19 has a similar issue:

gem install ruby-debug19 --force -- --with-ruby-include=$rvm_path/src/ruby-1.9.2-rc2/

That's all!

This is what worked on Ubuntu:

I had the same problems and tried so many options before I came across this: http://beginrescueend.com/packages/openssl/

$ rvm pkg install openssl
$ rvm remove 1.9.2
$ rvm install 1.9.2 --with-openssl-dir=$rvm_path/usr

This resolves the issue with linecache19 rubydebug-19 and openssl:

*** extconf.rb failed ***
custom_require.rb:36:in `require': no such file to load -- openssl (LoadError)

then you can do

gem install ruby-debug19
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!