运行'时出错__rvm#U make-j 1和x27;rvm Ruby安装期间| openssl错误

运行'时出错__rvm#U make-j 1和x27;rvm Ruby安装期间| openssl错误,ruby,macos,rvm,homebrew,Ruby,Macos,Rvm,Homebrew,您可能在运行“\uu rvm\u make-j 1”时搜索错误。 这只是说,在编译ruby时出现了一些问题。只有当openssl和/或ossl\u ssl是错误消息的一部分时,此问题才与您相关。 但也许您的问题与此类似,您可以通过一些定制来解决您的问题 背景 今天我想删除一个项目的所有gems,但忘记事先为bundler指定一个路径,所以所有gems都安装在~/.rvm/gems/ruby-2.2.4/gems/中 由于它是唯一的ruby 2.2.4项目,我认为rm-rf~/.rvm/gems

您可能在运行“\uu rvm\u make-j 1”时搜索错误。
这只是说,在编译ruby时出现了一些问题。只有当
openssl
和/或
ossl\u ssl
是错误消息的一部分时,此问题才与您相关。
但也许您的问题与此类似,您可以通过一些定制来解决您的问题


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

由于它是唯一的ruby 2.2.4项目,我认为
rm-rf~/.rvm/gems/ruby-2.2.4/gems/*
会非常好。事实并非如此。Bundler不见了,
gem安装Bundler
也不再工作了

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

控制台输出

> 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安装ruby-2.2.4
搜索二进制红宝石,这可能需要一些时间。
osx/10.11/x86_64/ruby-2.2.4没有二进制ruby可用。
继续汇编。请阅读“rvm帮助挂载”以获取有关二进制红宝石的更多信息。
检查osx的需求。
“/usr/local/etc/openssl/cert.pem”中的证书已经是最新的。
要求安装成功。
将Ruby从源代码安装到:/Users/fkammer/.rvm/rubies/Ruby-2.2.4,这可能需要一段时间,具体取决于您的cpu。。。
ruby-2.2.4-#正在下载ruby-2.2.4,这可能需要一些时间,具体取决于您的连接。。。
%总接收百分比%x平均速度时间电流
数据加载上载总左速度
100 12.7M 100 12.7M 0 0 655k 0:00:19 0:00:19--------------234k
下载的存档文件没有校验和,正在用户配置中记录校验和。
ruby-2.2.4-#将ruby-2.2.4提取到/Users/fkammer/.rvm/src/ruby-2.2.4。。。。
ruby-2.2.4-#配置。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
ruby-2.2.4-#post配置。
ruby-2.2.4-#编译。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
运行“\uuu rvm\u make-j 1”时出错,
显示/Users/fkammer/.rvm/log/1456431932_ruby-2.2.4/make.log的最后15行
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ossl_ssl.c:19:35:注意:从宏'numberof'展开
#定义numberof(ari)(int)(sizeof(ari)/sizeof((ari)[0]))
^~~~~
ossl_ssl.c:2217:21:错误:“sizeof”对不完整类型“const struct(ossl_ssl.c:115:14处的匿名结构)[]的应用无效”
对于(i=0;i
重试不会改变任何东西。我还尝试完全卸载rvm(
rvm内爆
)并重新安装,但都没有成功

系统
Mac OS X–El Capitan(10.11.3)
rvm 1.26.11(最新版本)

自制0.9.5

看起来openssl有问题

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

我重新安装了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
已经不可用了。很可能你有过时的
rvm
版本,它试图根据
0.9.8
分支进行构建。更新
rvm
修复:
rvm get head

我试图安装ruby 1.9.3,但出现以下错误:- 运行“\uuu rvm\u 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
以下是源链接-
&这是我对它的引用-

这对我来说很有效。我总是忘记做这件事。一件事

xcode-select --install

不幸的是,仅仅重新安装
rvm
对我来说不起作用
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