gpt4 book ai didi

ruby - 系统更新后更新所有 RVM ruby 和 gem 的最佳方法?

转载 作者:数据小太阳 更新时间:2023-10-29 06:57:08 25 4
gpt4 key购买 nike

我正在寻找一种更简化和更强大的方法来在操作系统更新后保持我的 rvm 环境完好无损。我正在使用 Mountain Lion、rvm 1.18.16 和 homebrew,它有 readline、gettext、libxml2、libxslt、qt、gtk+——通常对我来说不好用的 gems 是 nokogiri 和 capybara-webkit

在更新 Mountain Lion 和 XCode 之后,我的原生扩展 gems 和 Ruby 出现了两次损坏,我不得不花时间让一切恢复正常。我想知道我是否遵循了在此类系统更新后更新所有 rvm 组件的最佳实践。

通常发生的情况是,具有 native 扩展的 gem 链接到不再可用的旧库,尤其是围绕 Mountain Lion 的 libxml 问题。以下是我在所有项目中让我的系统恢复联机所采取的基本步骤(我在 rvm 下安装了大约 8 个版本的 Ruby,所以这很乏味!)。

首先,通过 App Store 更新 Mountain Lion 和 XCode。

其次,更新 Homebrew 软件:

brew update
brew upgrade

然后列出您的 ruby 并开始使用...重新编译每一个

rvm list
rvm reinstall ruby-1.9.2-p290
rvm reinstall ruby-1.9.3-p392
...

注意:我确实尝试过:

rvm all do reinstall

但这给了我这个错误:“重新安装:找不到命令”

接下来,遍历每个 ruby​​ 并在 gems 上执行 pristine(这有重新编译所有原生扩展 gems 的副作用):

rvm use ruby-1.9.3-p392
gem pristine --all

最后,转到每个项目并执行以下操作:

bundle install

我不确定最后一步是否绝对必要——有些项目似乎没问题,有些则不然,但运行它似乎解决了最后剩下的问题。

肯定有更简化的方法来管理这个过程!?我只同时使用 Mountain Lion 和 rvm 几个月,但在那段时间里,两个系统更新已经杀死了我大部分的工作 Ruby 环境。由于担任顾问的工作以及遇到许多开发环境,我安装了很多 Ruby 版本,所以我真的很想将其归结为一个易于重复的过程。

有什么想法吗?以上是否可以进一步改进?

最佳答案

你可以这样做:

rvm reinstall all

追加--force跳过问题。

请注意,将进行完整的重新安装,包括 gem pristine对于每个 gem,您需要注意输出,因为它会通知您有关未能执行 pristine 的 gem。行动。

关于ruby - 系统更新后更新所有 RVM ruby 和 gem 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15279786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com