ruby - Linux 在不使用 CURL 的情况下安装 RVM

标签 ruby linux ubuntu curl rvm

出于某种原因,我当前的环境(包括公司代理)不允许我使用 CURL 或 WGET 安装 RVM。在没有这些实用程序的情况下,还有另一种从源代码安装 RVM 的方法吗?我所做的每一次网络搜索都会返回“curl”方式。

有什么想法吗?

最佳答案

修改 rvm 脚本不是一个好主意

我在想 sleep 的时候在想你的问题/我的答案......我不能不给你写另一个答案就闭上眼睛。破解 rvm 安装脚本真的不是你应该做的。 Rvm 在任何地方都使用 curl(安装、下载 rubies、更新……)。而且您必须下载更多东西——例如 gems。替换每个脚本中的每个 curl 调用是不可维护的。

建议的解决方案

rvm 的好处在于,它会将所有 数据存储在~/.rvm 目录中。考虑到这一点,您可以在远程计算机(或 VM)上安装 rvm,这与您的开发计算机尽可能相似(相同的操作系统、相同的操作系统版本、相同的库)。安装您需要的所有 ruby 、 gem 集和 gem 。然后将压缩的 ~/.rvm 目录移动到您的开发计算机并将其解压缩到 ~/.rvm

不要忘记做

echo "source $HOME/.rvm/scripts/rvm" >> ~/.bash_profile

在加载 bash 时获取 rvm。

如果您必须更新或安装 gems 或 ruby​​ 版本,请在远程计算机上执行您的业务,然后再次复制 ~/.rvm

我对此设置的体验

我使用此设置(尽管它是通过我们的 CI 服务器自动执行的)已有 2 年了,用于类似邪恶的公司网络中的生产环境。更换 gem / ruby 比应有的要难,但它可以在没有互联网连接的情况下工作。

编辑:添加一段关于我对此设置的体验

关于ruby - Linux 在不使用 CURL 的情况下安装 RVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16156792/

相关文章:

ruby - 什么是 Rspec 中的待定测试?

ruby - 如何从 Ruby 中的字符串中删除特定字符?

linux - 移动文件并将它们放入相应的文本文件文件夹中

ubuntu - Ubuntu 14.04 中的 Couchdb 'init terminating in do_boot' 错误

php - 如何使用ffmpeg php检查视频是横向还是纵向?

ruby - 以字符串/文本形式获取 ruby​​ 文件的源代码

ruby - 为什么 Gosu 隐藏我的鼠标指针?

linux - 哪个效率更高 : ls -l *ABC* vs ls -l | grep ABC

linux - 从 for 循环 bash 中传递的参数构建字符串

linux - 如何将 Amazon 微型实例移动到小型实例?