无法使用ruby版本ruby-1.8.7-p374进行捆绑安装和gem install bundler -v 1.17.3

时间:2019-02-11 03:41:33

标签: ruby-on-rails ruby rubygems

正在使用的操作系统:Mac OS High Sierra 版本:10.13.6

我安装了具有以下Ruby版本的RVM:


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版本是:ruby-1.8.7-p374 我正在尝试做一个bundle install并遇到以下错误:

/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>'

当我按以下方式进行gem install bundler时,会出现错误:


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

我已经安装了OpenSSL,请参见下文:

    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)

请告知如何克服这一障碍?谢谢。

3 个答案:

答案 0 :(得分:0)

因此,我能够通过参考以下链接来解决此错误:

How to set correct Ruby version in gem environment

主要问题是我的Ruby gem(2.0.17)与ruby 1.8.7(2013-06-27补丁程序374)不兼容 以下是我执行的步骤: 仅在下载RubyGems 1.6.2之后,按照说明进行解压缩,如

所以:

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

然后解压缩下载的文件;

要使用tar提取.tgz文件,

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

然后,运行gem env以检查您的RubyGems环境。希望可以,然后运行gem install bundler -v 1.17.3

答案 1 :(得分:0)

我已经遇到了这个问题,我通过以下方法解决了

gem update --system

答案 2 :(得分:0)

尝试运行这些命令解决问题。

  

sudo gem install -n / usr / local / bin捆绑程序-v 1.17.3

然后,安装Ruby依赖项

  

捆绑安装