新手问题 CentOS 7 gem source -a 报错 uninitialized constant Gem::RemoteFetcher::Zlib

string2020 · 2014年08月17日 · 最后由 yangshengqing 回复于 2015年08月26日 · 6175 次阅读

系统环境:centos7 x64 ruby : ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]

执行 gem source -a 报错

[hadoop@rubypc ~]$ gem source -a http://ruby.taobao.org ERROR: While executing gem ... (NameError) uninitialized constant Gem::RemoteFetcher::Zlib

网上说,要安装 zlib 于是:按照下面的步骤执行 $cd ext/zlib $ruby ./extconf.rb $make $make install

但是,在执行 ruby ./extconf.rb 的时候,报错了

[hadoop@rubypc zlib]$ ruby ./extconf.rb checking for deflateReset() in -lz... no checking for deflateReset() in -llibz... no checking for deflateReset() in -lzlib1... no checking for deflateReset() in -lzlib... no checking for deflateReset() in -lzdll... no checking for deflateReset() in -lzlibwapi... no

请问,哪里错了,怎么解决 是不是有些包没有装,什么包?

请先安装 zlib

http://www.zlib.net/

另外,如果对 Linux 服务器安装不熟悉的话,推荐用 Ubuntu Server 能避免安装三方包,另外资料也比较多,很多三方库直接 apt-get 就可以安装了,在 CentOS 下面很多需要从源代码编译。

#1 楼 @huacnlee 不是 zlib 的原因,是 zlib-devel 的原因 但是,我在安装 openssl 的时候,又报错了: $cd ext/openssl $ruby ./extconf.rb $make

compiling ossl_pkey_ec.c compiling ossl_bn.c compiling ossl_config.c make: *** No rule to make target /thread_native.h', needed byossl.o'. Stop.

这是什么错

楼主,问题解决了吗,我也遇到一模一样的问题,我是新手,有相关的解决办法吗?方便的话能否发我一份:[email protected]

先执行 $sudo apt-get install zlib1g-dev

然后再执行 $cd ext/zlib $ruby ./extconf.rb $make $make install

最后就可以添加 taobao 源了 $gem sources -a http://ruby.taobao.org/

需要 登录 后方可回复, 如果你还没有账号请 注册新账号