安装 rvm Ruby 时出现错误 运行 '__rvm_make -j 1' |打开SSL错误

Error running '__rvm_make -j 1' during rvm Ruby installation | openssl error

您可能正在搜索 错误 运行 '__rvm_make -j 1'
那只是说,编译 ruby 时出了点问题。如果 openssl and/or ossl_ssl 是错误消息的一部分,则此问题仅与您相关。
但也许您的问题是相似,您可以通过一些自定义来解决您的问题。


背景
今天我想删除项目的所有 gem,但忘记事先为 bundler 指定路径,所以所有 gem 安装在 ~/.rvm/gems/ruby-2.2.4/gems/.

因为它是唯一的 ruby 2.2.4 项目,所以我认为 rm -rf ~/.rvm/gems/ruby-2.2.4/gems/* 完全没问题。事实并非如此。 Bundler 消失了,gem install bundler 也不再工作了。

我用 rvm remove ruby-2.2.4 删除了漏洞 ruby 安装 ant 试图重新安装它。这是我收到错误的控制台输出:

控制台输出

> rvm install ruby-2.2.4
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.11/x86_64/ruby-2.2.4.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.
Requirements installation successful.
Installing Ruby from source to: /Users/fkammer/.rvm/rubies/ruby-2.2.4, this may take a while depending on your cpu(s)...
ruby-2.2.4 - #downloading ruby-2.2.4, this may take a while depending on your connection...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12.7M  100 12.7M    0     0   655k      0  0:00:19  0:00:19 --:--:--  234k
No checksum for downloaded archive, recording checksum in user configuration.
ruby-2.2.4 - #extracting ruby-2.2.4 to /Users/fkammer/.rvm/src/ruby-2.2.4....
ruby-2.2.4 - #configuring..........................................................
ruby-2.2.4 - #post-configuration.
ruby-2.2.4 - #compiling..............................................................
Error running '__rvm_make -j 1',
showing last 15 lines of /Users/fkammer/.rvm/log/1456431932_ruby-2.2.4/make.log
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ossl_ssl.c:19:35: note: expanded from macro 'numberof'
#define numberof(ary) (int)(sizeof(ary)/sizeof((ary)[0]))
                                  ^~~~~
ossl_ssl.c:2217:21: error: invalid application of 'sizeof' to an incomplete type 'const struct (anonymous struct at ossl_ssl.c:115:14) []'
    for (i = 0; i < numberof(ossl_ssl_method_tab); i++) {
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ossl_ssl.c:19:35: note: expanded from macro 'numberof'
#define numberof(ary) (int)(sizeof(ary)/sizeof((ary)[0]))
                                  ^~~~~
9 errors generated.
make[2]: *** [ossl_ssl.o] Error 1
make[1]: *** [ext/openssl/all] Error 2
make: *** [build-ext] Error 2
++ return 2
There has been an error while running make. Halting the installation.

重试不会改变任何东西。我还尝试完全卸载 rvm (rvm implode) 并重新安装,但都没有成功。

系统
Mac OS X – El Capitan (10.11.3)
rvm 1.26.11(最新)
自制软件 0.9.5

openssl 似乎有问题。

rvm 在我的安装中使用 homebrew 作为它的包管理器(我猜这是默认设置)。您可以确保 rvm autolibs homebrew.

我用

重新安装了openssl
brew reinstall openssl

并通过 brew list 看到我的系统上安装了另一个名为 openssl098 的 openssl 软件包。尝试重新安装它也导致了以下错误:

> brew reinstall openssl098
Error: No available formula with the name "openssl098"

我刚刚用

删除了包裹
brew uninstall --force openssl098

并再次重新安装 openssl 以确保 openssl098 不是必需的依赖项。但是没有重新安装。

之后,我再次尝试通过 rvm 安装 ruby-2.2.4,它非常有效 :) 所以我猜我的 openssl 包由于某种原因被破坏了。

openssl098 已经 officially removed and is no longer available. Most probably you have outdated version of rvm which tries to build against the 0.9.8 branch. Update rvm to have it fixed: rvm get head. Source

我试图安装 ruby 1.9.3 但出现错误- 错误 运行 '__rvm_make -j4'

我关注@mpapis 并解决了我的问题

rvm remove 1.9.3
CC=clang rvm install 1.9.3

现在我有了这个设置-

rvm rubies
   ruby-1.9.3-p551 [ x86_64 ]
   ruby-2.1.3 [ x86_64 ]
=* ruby-2.3.1 [ x86_64 ]

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

这是来源link- https://github.com/rvm/rvm/issues/
这是我的报价- https://github.com/rvm/rvm/issues/2333

这对我有用。我总是忘记这样做。一次的事情。

xcode-select --install
brew --prefix openssl # get the path you need for openssl

rvm install "ruby-2.6.4" --with-openssl-dir=PATH_TO_OPENSSL