【问题标题】:How do I recompile a ruby with RVM?如何使用 RVM 重新编译 ruby​​?
【发布时间】:2012-03-12 07:12:09
【问题描述】:

我用 RVM 安装了 Ruby 1.9.3,它运行良好。然后我在 ruby​​ C 源文件中进行了一些更改,我想重新编译并重新安装它,以便我可以使用这些更改。但是,我还没有找到任何类型的 rvm recompile 命令。

【问题讨论】:

    标签: ruby rvm


    【解决方案1】:

    使用rvm [reinstall|install] 的问题在于,如果它可以找到任何预编译的二进制文件,它将获取并使用它。有时,您真的想从源代码重建,可能是因为您尝试使用更新版本的 GCC(例如 4.8 或 4.9)。

    正确的标志是--disable-binary,而不是--force

    rvm reinstall --disable-binary 2.1
    

    【讨论】:

    • 这在我从 Fedora 23 -> 24 升级时有所帮助,并且 mysql2 gem 不再工作,因为它是针对早期的 libmysql 编译的。
    【解决方案2】:

    啊哈。 rvm uninstall [RUBY] 后跟 rvm install [RUBY] 可以解决问题。

    或更好:

    rvm reinstall [RUBY]
    

    【讨论】:

      【解决方案3】:

      rvm reinstall [RUBY]


      【讨论】:

      • 我不这么认为。文档说:“它相当于:rvm remove [ruby-string] rvm install [ruby-string]”
      【解决方案4】:

      用途:

      rvm install --force
      

      它明确要求 RVM 使用现有源,在早期版本中这是默认设置 - 但可能会非常混乱。

      还有其他安装命令:

      rvm try_install <ruby>
      

      仅在尚未安装的情况下安装(您的问题)

      rvm reinstall <ruby>
      

      等同于:

      rvm remove [--gems] <ruby>
      rvm install <ruby>
      

      reinstall 显然节省了一些时间 并使用 [--gems] 删除所有使用 ruby​​ 安装的 gem。

      mkdir -p projects/smth && cd projects smth
      rvm use 1.9.3@gem --install --create --ruby-version
      

      将进入项目,安装 1.9.3(如果尚未安装),创建 gemset,并创建 .ruby-version 文件(仅在 v.1.11.0 之前的 RVM 头中可用) 其他标志:

      • --rvmrc - 已在 RVM 中可用 - 将创建 .rvmrc 文件
      • --versions-conf - 仅在 v. 1.11.0 之前的 RVM 头中可用 - 将为您的项目创建 .versions.conf - 一个配置文件,您可以在其中放置有关您的项目的任何重要信息......比如 node.js 版本

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-16
        • 1970-01-01
        • 2012-06-26
        • 1970-01-01
        • 2011-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多