Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
安装ruby-2.1.2:无法加载此类文件--openssl(LoadError)_Ruby_Macos_Openssl_Rvm - Fatal编程技术网

安装ruby-2.1.2:无法加载此类文件--openssl(LoadError)

安装ruby-2.1.2:无法加载此类文件--openssl(LoadError),ruby,macos,openssl,rvm,Ruby,Macos,Openssl,Rvm,使用rvm安装ruby-2.1.2时几乎没有错误。我是ruby新手,因此需要帮助。请让我知道 此处的安装日志和其他相关信息: 根据问题描述中提供的日志,我在系统中安装了ruby 2.1.2。但是,由于安装错误,尝试使用gem list列出gem时出错。更改为2.1.2后,即rvm使用2.1.2并执行ruby-r openssl-e'put OpensSSL::openssl_VERSION'会出现以下错误: /Users/praveenk.k/.rvm/rubies/ruby-2.1.2/lib

使用rvm安装ruby-2.1.2时几乎没有错误。我是ruby新手,因此需要帮助。请让我知道

此处的安装日志和其他相关信息:

根据问题描述中提供的日志,我在系统中安装了ruby 2.1.2。但是,由于安装错误,尝试使用
gem list
列出gem时出错。更改为2.1.2后,即
rvm使用2.1.2
并执行
ruby-r openssl-e'put OpensSSL::openssl_VERSION'
会出现以下错误:

/Users/praveenk.k/.rvm/rubies/ruby-2.1.2/lib/ruby/site_-ruby/2.1.0/rubygems/core_-ext/kernel_-require.rb:54:in require:无法从/Users/praveenk.k/.rvm/rubies/ruby-2.1.2/lib/ruby/site_-ruby/2.1.0/rubygems/core_-ext/kernel_-require.u-require.rb

Ruby是一个很好的例子

brew install rbenv/tap/openssl@1.0
rvm install 2.1.2 -C --with-openssl-dir=`brew --prefix openssl@1.0`
它来自debian 10的


sudo apt get install-y libssl dev

在AmazonLinux2上,即使安装了openssl,也需要完整的开发工具包

yum install openssl-devel

对我来说,在centos 7中解决这个问题

$ openssl version -a


OpenSSL 1.0.2k-fips  26 Jan 2017
built on: reproducible build, date unspecified
platform: linux-x86_64
options:  bn(64,64) md2(int) rc4(8x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM

------------------------------------------------------------------------
OPENSSLDIR: "/etc/pki/tls" <- ************* COPY THIS PATH *************
------------------------------------------------------------------------

engines:  rdrand dynamic 

OpenSSL可能不在您的计算机上。使用
哪个openssl
检查它是否存在
哪个openssl
打印输出
/usr/local/opt/openssl@1.1/bin/openssl
。因此,我假设我的系统中存在openssl。好的,您的问题似乎不是openssl问题。接下来可以尝试什么:查看文件/Users/praveenk.k/.rvm/log/1576471018_ruby-2.1.2/gem.install.gem wrappers->=1.4.0.log。与我们共享此文件的内容。
cat”/Users/praveenk.k/.rvm/log/1576471018_ruby-2.1.2/gem.install.gem wrappers->=1.4.0.log“
的内容如下:
错误:加载命令:install(LoadError)无法加载此类文件--openssl错误:在执行gem时。。。(NoMethodError)undefined方法
invoke_with_build_args'for nil:NilClass`请将最后一条评论的文本放在原始帖子中。这样人们就更容易帮助你了。这真的很有帮助!我跟着这个
yum install openssl-devel
$ openssl version -a


OpenSSL 1.0.2k-fips  26 Jan 2017
built on: reproducible build, date unspecified
platform: linux-x86_64
options:  bn(64,64) md2(int) rc4(8x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM

------------------------------------------------------------------------
OPENSSLDIR: "/etc/pki/tls" <- ************* COPY THIS PATH *************
------------------------------------------------------------------------

engines:  rdrand dynamic 
$ RUBY_CONFIGURE_OPTS="--with-openssl-dir=/etc/pki/tls" rbenv install 2.7.2