Ruby Linux不使用CURL安装RVM
由于某种原因,我当前的环境(包括公司代理)不允许我安装带有CURL或WGET的RVM。有没有其他方法可以在没有这些实用程序的情况下从源代码安装RVM?我所做的每一次网络搜索都返回“curl”方式Ruby Linux不使用CURL安装RVM,ruby,linux,ubuntu,curl,rvm,Ruby,Linux,Ubuntu,Curl,Rvm,由于某种原因,我当前的环境(包括公司代理)不允许我安装带有CURL或WGET的RVM。有没有其他方法可以在没有这些实用程序的情况下从源代码安装RVM?我所做的每一次网络搜索都返回“curl”方式 有什么想法吗?您可以找到rvm安装脚本。你可以 下载它 修改使用curl的零件 执行脚本,该脚本现在引用手动下载的文件 1。下载 下载到/tmp/rvm安装程序。 现在将文件下载到/tmp/rvm-1.19.6.tar.gz 2。修改文件 在第148行开始函数fetch\u version。将其替换为以
有什么想法吗?您可以找到rvm安装脚本。你可以
/tmp/rvm安装程序。
现在将文件下载到/tmp/rvm-1.19.6.tar.gz
2。修改文件
在第148行开始函数fetch\u version
。将其替换为以下功能:
fetch_version()
{
echo '1.19.6' # the current version, as of writing this
}
在第161行(在install\u release
中),调用get\u and\u unpack
函数。
将函数调用替换为:
get_and_unpack \
/tmp/rvm-${_version}.tar.gz \
rvm-${_version}.tar.gz
在第212行(在获取和解包中)替换
与:
3。最后安装rvm
cd /tmp
cat rvm-installer | bash -s -- --version latest --autolibs=enabled
免责声明:这仍然是一个黑客。它安装了rvm,但我不知道如何更新(这里rvm再次使用curl)。祝你好运:)修改rvm脚本不是一个好主意
我想睡觉的时候在想你的问题/我的答案。。。如果我不给你写另一个答案,我就闭不上眼睛。破解rvm安装脚本实际上不是您应该做的事情。Rvm在任何地方都使用curl(安装、下载rubies、更新等等)。你还需要下载更多的东西,比如gems。替换每个脚本中的每个curl调用是不可维护的
建议的解决方案
rvm的好处是,它将所有数据存储在~/.rvm
目录中。考虑到这一点,您可以在远程计算机(或VM)上安装rvm,这与您的开发计算机尽可能相似(相同的操作系统、相同的操作系统版本、相同的库)。安装所有你需要的红宝石、宝石和宝石。然后将压缩的~/.rvm
目录移动到您的开发计算机上,并将其解压缩到~/.rvm
别忘了做点什么
echo "source $HOME/.rvm/scripts/rvm" >> ~/.bash_profile
在加载bash时源rvm
如果您需要更新或安装gems或ruby版本,请在远程计算机上进行操作,然后再次复制~/.rvm
我使用此设置的经验
我使用此设置(尽管它是通过我们的CI服务器自动进行的)已有两年时间,用于类似公司网络中的生产环境。更换宝石/红宝石比应该的更难,但它可以在没有互联网连接的情况下工作
编辑:添加了一段关于我使用此设置的经验您可以尝试下载并运行它,就像/.sh stable--rails--autolibs=enabled#或,--ruby=1.9.3
一样,但在其脚本内部仍然需要curl,否则将显示错误“RVM需要‘curl’。请先安装‘curl’,然后重试。”(查看脚本):(
cd /tmp
cat rvm-installer | bash -s -- --version latest --autolibs=enabled
echo "source $HOME/.rvm/scripts/rvm" >> ~/.bash_profile