如何在隔离的网络环境中通过rbenv安装一些ruby版本

时间:2017-02-26 05:16:43

标签: ruby rbenv

环境

  • CentOS 6.8
  • 我已经安装了最新的rbenv
  • 与互联网或离线环境隔离
  • 我可以带一些scp
  • 的文件

问题

我想在rbenv上安装一些ruby版本。但是,由于此服务器无法直接连接到Internet,因此无法使用rbenv install命令安装某些ruby版本。你能想到一些安装一些ruby版本的方法吗?我不介意是否使用ruby-build。

到目前为止我尝试了什么

创建了一个vagrant init bento/centos-6.7的虚拟机,并将rbenv.zip和ruby-1.9.3-p286.tar.gz发送到其/ home / vagrant / dir。

yum instll -y vim zip tree gcc

sudo su -
cd /home/vagrant
unzip rbenv.zip && mv rbenv /opt/.rbenv

echo 'export PATH="/opt/.rbenv/bin:/opt/.rbenv/libexec:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

exec $SHELL -l

mkdir /opt/.rbenv/versions

cd /root/vagrant/
tar zxvf ruby-1.9.3-p286.tar.gz && cd ruby-1.9.3-p286
./configure --prefix=/opt/.rbenv/versions/ruby-1.9.3-p286
make install

rbenv rehash
rbenv versions # -> Warning: no Ruby detected on the system
exec $SHELL -l
rbenv versions # -> Warning: no Ruby detected on the system

rbenv -v # -> rbenv 1.1.0

cd /opt/.rbenv/versions
tree -L 2 # -> The result is below
.
└── ruby-1.9.3-p286
    ├── bin
    ├── include
    ├── lib
    └── share

1 个答案:

答案 0 :(得分:0)

rbenv documentation提供答案;您可以自己下载并编译Ruby源代码,并将其链接到rbenv文件夹:

  

安装Ruby版本

     

除了install命令,您可以手动下载和编译Ruby作为〜/ .rbenv / versions /的子目录。该目录中的条目也可以是安装在文件系统其他位置的Ruby版本的符号链接。 rbenv不关心;它只会将versions /目录中的任何条目视为单独的Ruby版本。