rvm Ruby 安装期间运行“__rvm_make -j 1”时出错 | openssl 错误

Fre*_*mer 5 ruby macos homebrew rvm

您可能正在搜索Error running '__rvm_make -j 1'
\n那只是说,编译 ruby​​ 时出了问题。openssl仅当和/或ossl_ssl属于您的错误消息的一部分时,此问题才与您相关。
\n但也许你的问题是类似的的,您可以通过一些自定义来解决您的问题。

\n\n
\n\n

背景
\n今天我想删除项目的所有 gem,但忘记事先指定捆绑器的路径,因此所有 gem 都安装在~/.rvm/gems/ruby-2.2.4/gems/.

\n\n

因为它是唯一的 ruby​​ 2.2.4 项目,我认为这rm -rf ~/.rvm/gems/ruby-2.2.4/gems/*会很好。事实并非如此。捆绑者走了,gem install bundler也不再工作了。

\n\n

我删除了孔红宝石安装rvm remove ruby-2.2.4尝试重新安装它。这是控制台输出,其中包含我收到的错误:

\n\n

控制台输出

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

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

\n\n

系统
\nMac OS X \xe2\x80\x93 El Capitan (10.11.3)
\nrvm 1.26.11(最新)
\nHomebrew 0.9.5

\n

小智 5

对我有什么帮助:

brew uninstall --ignore-dependencies openssl@3
brew reinstall openssl@1.1
rvm install 3.0.0
Run Code Online (Sandbox Code Playgroud)


Fre*_*mer 4

看来openssl有问题。

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

我重新安装了openssl

brew reinstall openssl
Run Code Online (Sandbox Code Playgroud)

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

> brew reinstall openssl098
Error: No available formula with the name "openssl098"
Run Code Online (Sandbox Code Playgroud)

我刚刚删除了包裹

brew uninstall --force openssl098
Run Code Online (Sandbox Code Playgroud)

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

之后我再次尝试通过 rvm 安装 ruby​​-2.2.4,它的工作就像一个魅力:)所以我猜我的 openssl 包由于某种原因被破坏了。