gem install redis报错解决办法

Python020

gem install redis报错解决办法,第1张

redis-cluster安装需要通过gem install redis来安装相关依赖。否则报错。

通过gem install redis执行后会出现两个问题:

1、缺少zlib依赖

问题:

ERROR: Loading command: install (LoadError)

cannot load such file -- zlib

ERROR: While executing gem ... (NoMethodError)

undefined method 'invoke_with_build_args' for nil:NilClass

解决:

通过yum install zlib-devel 安装zlib库

然后集成zlib库到ruby环境

cd /usr/local/ruby-2.2.7/ext/zlib

ruby extconf.rb

重要:ext/openssl/Makefile 增加 top_srcdir = ../..

//这一步如果不修改,make时会爆出另外一个错误

//make:*** No rule to make target '/include/ruby.h', needed by 'zlib.o'. Stop

make &&make install

2、缺少openssl库

问题:

ERROR: While executing gem ... (Gem::Exception)

Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources

解决:

通过yum install openssl-devel 安装openssl库

然后集成到ruby环境

cd /usr/local/ruby-2.2.7/ext/zlib

ruby extconf.rb

重要:ext/openssl/Makefile 增加 top_srcdir = ../..

//修改Makefile中的$(top_srcdir)为../..

make &&make install

再次运行gem install redis,出现下图则表示安装成功

安装Weex Toolkit方法很简单,如下命令:

$ npm install -g weex-toolkit

但是,提示了奇葩的错误,Google之不可解,遂只能干掉node,重新安装node

后来在搜索方法的过程中发现,或许是Mac系统升级导致了node的问题,才会让weex-toolkit无法成功安装

孰是孰非,暂不可定论

如果是通过brew安装的,则直接使用

brew uninstall node

若不是或者已经通过brew卸载了,则(删除之前,确认一下文件是否存在,并且是否为应该删除的文件)

然后通过

$ node

$ npm

检查一下,是否把应用卸载好了,ok了即可重新安装

重新使用brew安装node时,发生了一个更奇葩的事,brew坏了,只好重新安装brew,命令如下

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"

使用

brew install node

即可安装

安装途中,有可能提示,某某文件被占用,这时,可以把某某文件删掉(这是之前node卸载遗留的文件)

再者,可能提示,已经安装好了,但是没有link而已,这时可以看到link方法的提示

brew link node

但是,link时有可能说某某文件没有权限(我当时出现的是说tapset),sudo在brew上也是不可使用的了,这时需要

$ cd /usr/local/share/systemtap

$ chown -R tapset

再进行link就ok了

接下来,安装weex-toolkit就很顺利了

再接下来,还没完,gem和pod全挂了。。。

错误提示如下

dyld: Library not loaded: /usr/local/lib/libgmp.10.dylib

Referenced from: /Users/derek/.rvm/rubies/ruby-2.2.1/bin/ruby

Reason: image not found

则Google之,发现可以通过重新安装ruby来解决,原文中的方法如下:

$ ruby -v

dyld: Library not loaded: /usr/local/lib/libgmp.10.dylib

Referenced from: /Users/psoshnin/.rvm/rubies/ruby-2.1.3/bin/ruby

Reason: image not found

$ brew update &&brew upgrade

$ rvm reinstall 2.1.3 --disable-binary # 2.1.3是ruby版本,见ruby -v的错误提示,每个人的可能不同,比如我是2.2.1

$ ruby -v

ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin13.0]

尝试第一次,在install的时候,会出现

Error running '__rvm_rm_rf /Users/derek/.rvm/rubies/ruby-2.2.1',

showing last 15 lines of /Users/derek/.rvm/log/1492230416_ruby-2.2.1/remove.rubies.log

再次进行 brew update 后就正常了

至此,gem正常了,重新安装pod即可

brew:https://brew.sh/index_zh-cn.html

chown:http://www.cnblogs.com/peida/archive/2012/12/04/2800684.html

yum -y install gcc gcc-c++ libstdc++-devel autoconf automake

cd /usr/local/src

wget

tar zxf ruby-2.2.3.tar.gz

cd ruby-2.2.3

./configure --prefix=/usr/local/ruby

make

make install

cat<<EOF>>/etc/profile

RUBY_HOME=/usr/local/ruby

PATH=$PATH:/usr/local/ruby/bin

EOF

export RUBY_HOME PATH

ruby -v

gem install rails -r -y

rails -v