【发布时间】:2017-07-16 20:12:34
【问题描述】:
环境
- CentOS 6.8
- 我已经在上面安装了最新的 rbenv
- 与 Internet 或离线环境隔离
- 我可以带一些文件
scp
问题
我想在 rbenv 上安装一些 ruby 版本。但是,由于该服务器无法直接连接到 Internet,我无法使用 rbenv install 命令安装某些 ruby 版本。你能想出一些方法来安装一些 ruby 版本吗?我不介意是否使用 ruby-build。
[更新] - 到目前为止我尝试了什么
使用vagrant init bento/centos-6.7 创建了一个VM,并将rbenv.zip 和ruby-1.9.3-p286.tar.gz 发送到它的/home/vagrant/ 目录。
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
【问题讨论】:
-
如果您有可用的 HTTP 代理,您可以设置
http_proxy环境变量。 -
如果您希望在完全离线的环境中做事,您可能希望使用类似Docker 的东西来准备一个完全打包、打补丁、准备就绪并可以部署的 VM 容器作为图像。另一种方法是源安装,忘记
rbenv,但撤消可能会很麻烦。