【问题标题】:While running bundle exec irb, need access to machine-only gems在运行 bundle exec irb 时,需要访问仅限机器的 gem
【发布时间】:2012-08-08 09:17:59
【问题描述】:

如何让 bundle exec irb 知道 system-gems?


要加载项目,我们使用的是 bundle exec irb。为了让我在 irb 的生活更轻松,我计划使用 irb_rocket(带有 wirble 和 ruby​​-terminfo)。

当只加载普通的 irb 时,它会按预期工作。但是,当使用 bundle exec irb 时,它可以(显然)找不到我的系统宝石。

我没有更改 gemfile 的选项,除非我能以某种方式使其仅适用于我的机器。

如果它值得的话; os x,git 中的源代码控制,rbenv 中的 ruby​​ 版本控制。

当需要 gem 的完整路径时,irb_rocket 再次需要 terminfo,然后在 require 'terminfo.so' 上引发 LoadError。在本地更改 gem 并不是我真正想做的,但我想它会起作用。

【问题讨论】:

    标签: ruby gem bundler irb


    【解决方案1】:

    您可以将Prypry-debundle 一起使用而不是IRB。如果这是一个 Rails 项目,您只需将pry-rails 添加到您的Gemfile,以便将其用作 Rails 控制台。

    【讨论】:

    • 切换到 Pry 并没有给我想要用 irb_rocket 实现的魔力。虽然 pry 确实允许我使用 bundler,但我找不到将显示调整为 irb_rocket 的选项。编辑 gemfile 不是一种选择。这不是一个 Rails 项目,但我们使用的是 padrino(打开 irb)
    • @Xeago 你应该在 Pry (github.com/pry/pry/issues) 上提出问题,请求使用irb_rocket 样式插件,实现起来看起来很简单
    • 问题将继续存在,因为 padrino 控制台运行的是 irb,而不是 pry。但是,如果我知道如何让 padrino 在 pry 下运行,我会考虑转向 pry。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多