【问题标题】:Linux Install RVM without using CURLLinux 不使用 CURL 安装 RVM
【发布时间】:2013-04-22 21:10:45
【问题描述】:

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

有什么想法吗?

【问题讨论】:

  • 您可能会尝试下载raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer 并像./<filename-you-gave-it>.sh stable --rails --autolibs=enabled # Or, --ruby=1.9.3 一样运行它,但在其脚本内部它仍然需要 curl 否则会显示错误“RVM 需要'curl'。安装'curl'首先再试一次。” (看剧本):(

标签: ruby linux ubuntu curl rvm


【解决方案1】:

修改 rvm 脚本不是个好主意

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

建议的解决方案

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

别忘了做

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

在加载 bash 时获取 rvm。

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

我对这种设置的体验

我使用这个设置(虽然它是通过我们的 CI 服务器自动化的)已经 ¬2 年了,现在用于生产环境,它位于一个类似的邪恶公司网络中。更换宝石/红宝石比应有的困难,但它可以在没有互联网连接的情况下工作。

编辑:添加了一段关于我使用此设置的经验

【讨论】:

    【解决方案2】:

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

    1. 下载它
    2. 修改使用 curl 的部分
    3. 执行脚本,现在引用手动下载的文件

    1.下载

    下载this file/tmp/rvm-installer。 现在下载rvm.tar.gz文件到/tmp/rvm-1.19.6.tar.gz

    2。修改文件

    在第 148 行开始函数 fetch_version。将其替换为以下函数:

    fetch_version()
    {
        echo '1.19.6' # the current version, as of writing this
    }
    

    在第 161 行(在install_release 内)调用了get_and_unpack 函数。 将函数调用替换为:

    get_and_unpack \
      /tmp/rvm-${_version}.tar.gz \
      rvm-${_version}.tar.gz
    

    在第 212 行(get_and_unpack 内)替换

    __rvm_curl ${_url} -o ${rvm_archives_path}/${_file} ||
    

    与:

    mv ${_url} ${rvm_archives_path}/${_file} ||
    

    3.最后安装rvm

    cd /tmp
    cat rvm-installer | bash -s -- --version latest --autolibs=enabled
    

    免责声明:这仍然是一个 hack。它安装了 rvm,但我不知道更新(这里 rvm 再次使用 curl)。祝你好运:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      相关资源
      最近更新 更多