0

OS in use: Mac OS High Sierra Version: 10.13.6

I have an RVM installed with the following Ruby versions:


MAC-070618-A:website anujaw$ rvm list
   ruby-1.8.7-head [ i686 ]
   ruby-1.8.7-p358 [ i686 ]
=> ruby-1.8.7-p374 [ i686 ]
 * ruby-2.3.7 [ x86_64 ]
   ruby-2.4.0 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

Ruby version I need for running an app locally on my machine is: ruby-1.8.7-p374 I am trying to do a bundle install and getting below error:

/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems.rb:241:in `bin_path': can't find gem bundler (>= 0.a) (Gem::GemNotFoundException)
    from /usr/local/bin/bundle:22:in `<main>'

When I do gem install bundler as below, I get an error:


MAC-070618-A:website anujaw$ gem install bundler -v 1.17.3
ERROR:  Loading command: install (LoadError)
    no such file to load -- openssl
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass

I already have OpenSSL installed, see below:

    MAC-070618-A:website anujaw$ brew info openssl
    openssl: stable 1.0.2q (bottled) [keg-only]
    SSL/TLS cryptography library
    https://openssl.org/
    /usr/local/Cellar/openssl/1.0.2o_2 (1,792 files, 12.3MB)
      Poured from bottle on 2018-07-23 at 14:37:12
    /usr/local/Cellar/openssl/1.0.2q (1,794 files, 12.1MB)
      Poured from bottle on 2019-01-30 at 14:12:51
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/openssl.rb
    ==> Caveats
    A CA file has been bootstrapped using certificates from the SystemRoots
    keychain. To add additional certificates (e.g. the certificates added in
    the System keychain), place .pem files in
      /usr/local/etc/openssl/certs

    and run
      /usr/local/opt/openssl/bin/c_rehash

    openssl is keg-only, which means it was not symlinked into /usr/local,
    because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.

    If you need to have openssl first in your PATH run:
      echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile

    For compilers to find openssl you may need to set:
      export LDFLAGS="-L/usr/local/opt/openssl/lib"
      export CPPFLAGS="-I/usr/local/opt/openssl/include"

    For pkg-config to find openssl you may need to set:
      export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"

    ==> Analytics
    install: 465,985 (30 days), 1,553,385 (90 days), 6,076,848 (365 days)
    install_on_request: 59,235 (30 days), 217,436 (90 days), 854,397 (365 days)
    build_error: 0 (30 days)

Kindly advise how to get past this obstacle? Thanks.

Anuja W
  • 1
  • 1
  • 1
  • 1
  • what is the ruby version running in your app. $ruby -v. This could be due to rvm issues, have a look into https://stackoverflow.com/questions/5515331/no-such-file-to-load-openssl – Bijendra Feb 11 '19 at 03:50
  • @Bijendra Below is the Ruby version: ruby 1.8.7 (2013-06-27 patchlevel 374) [i686-darwin17.7.0] – Anuja W Feb 11 '19 at 04:09

3 Answers3

2

I already had this problem, I solved with:

gem update --system
thiaguerd
  • 807
  • 1
  • 7
  • 16
2

Try running these command for your problem.

sudo gem install -n /usr/local/bin bundler -v 1.17.3

Then, Install Ruby dependencies

bundle install

Mr.Kushwaha
  • 491
  • 5
  • 14
0

So, I was able to resolve this error by referring to the following link:

How to set correct Ruby version in gem environment

The main issue was that my Ruby gem (2.0.17) was not compatible with ruby 1.8.7 (2013-06-27 patchlevel 374) Following are the steps I did: Only after downloading RubyGems 1.6.2, unzipping it etc as the instructions say

So:

curl -O https://rubygems.org/rubygems/rubygems-1.6.2.tgz

then unzip the downloaded file;

To extract a .tgz file with tar you need to use,

tar -xvzf /path/to/yourfile.tgz
cd rubygems-1.6.2
rvm ruby-1.8.7-p374
ruby setup.rb
gem update --system 1.8.25

Then, run gem env to check your RubyGems environment. Hopefully, it will be ok and then run gem install bundler -v 1.17.3

Anuja W
  • 1
  • 1
  • 1
  • 1