Ruby Linux不使用CURL安装RVM

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。将其替换为以

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


有什么想法吗?

您可以找到rvm安装脚本。你可以

  • 下载它
  • 修改使用curl的零件
  • 执行脚本,该脚本现在引用手动下载的文件
  • 1。下载

    下载到
    /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