Ruby&Rails环境的离线安装
1.找一台可以联网的计算机。
2.在https://github.com/rvm/rvm/tags上选择rvm安装版本。
3.在联网的机器上,使用非root用户。下载rvm安装包,解压并安装。
shell$ curl -sSL https://github.com/rvm/rvm/tarball/stable -o rvm-stable.tar.gz
shell$ mkdir rvm
shell$ cd rvm
shell$ tar --strip-components=1 -xzf ../rvm-stable.tar.gz
shell$ ./install -–auto-dotfiles
shell$ source ~/.rvm/scripts/rvm
4.选择版本并下载Ruby,rubygems,yaml安装包。 (这里以Ruby 2.2.0和rubygems 2.4.6为例)
shell$ curl -sSL https://ftp.ruby-lang.org/pub/ruby/ruby-2.2.0.tar.bz2 -o ruby-2.2.0.tar.bz2 (必须使用.tar.bz2结尾)
shell$ curl -sSL http://production.cf.rubygems.org/rubygems/rubygems-2.4.6.tgz -o rubygems-2.4.6.tgz
shell$ curl -sSL http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz -o yaml-0.1.6.tar.gz
5. 将下载后的安装包统一放置在解压后的rvm文件夹下的archives文件夹中(如果没有需要创建)。并将其路径加入~/.rvmrc中(没有对应文件,则需要创建)。
shell$ echo rvm_archives_path=$rvm_path/archives/ >> ~/.rvmrc
6.取消自动依赖并手动安装对应依赖包。(此处离线安装时,需要下载对应安装包,上传并手动安装)。
rvm autolibs read-fail
rvm requirements
在依赖包检查过程中,可能会提示要安装许多依赖包,下面是我使用Linux安装光盘安装的包(包的安装是有顺序的):
rpm -ivh zlib-devel-1.2.7-15.el7.x86_64.rpm
rpm -ivh keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm
rpm -ivh libcom_err-devel-1.42.9-7.el7.x86_64.rpm
rpm -ivh libsepol-devel-2.1.9-3.el7.x86_64.rpm
rpm -ivh pcre-devel-8.32-15.el7.x86_64.rpm
rpm -ivh libselinux-devel-2.2.2-6.el7.x86_64.rpm
rpm -ivh krb5-devel-1.13.2-10.el7.x86_64.rpm
rpm -ivh openssl-devel-1.0.1e-42.el7_1.9.x86_64.rpm
rpm -ivh libffi-devel-3.0.13-16.el7.x86_64.rpm
rpm -ivh ncurses-devel-5.9-13.20130511.el7.x86_64.rpm
rpm -ivh readline-devel-6.2-9.el7.x86_64.rpm
rpm -ivh sqlite-devel-3.7.17-8.el7.x86_64.rpm
rpm -ivh libyaml-devel-0.1.4-11.el7_0.x86_64.rpm
7.安装Ruby
shell$ echo “” >> ~/.rvm/gemsets/default.gems
shell$ echo “” >> ~/.rvm/gemsets/global.gems
shell$ rvm install 2.2.0 –rubygems 2.4.6 (此处可能需要sudo权限)
shell$ rvm use 2.2.0 –default
8.安装gems(此处以rails为例)
在线情况下:
1)shell$ mkdir gems; cd gems
2)shell$ gem install bundler
3)shell$ bundler init
4)shell$ echo “gem ‘rails’” >> Gemfile
5)shell$ bundler install
6)shell$ bundler package
7)shell$ tar czf gems.tgz .
8)从rubygems.org上下载bundler安装包。 (此处以bundler 1.8.3版本为例。)
上述步骤安装好之后,把gems.tgz 拷贝到离线机器上之后执行下面步骤:
1)shell$ mkdir gems; cd gems
2)shell$ tar xzf gems.tgz
3)gem install bundler-1.8.3.gem
4)bundler install --local