任何人都可以解释我或给我一个资源,我可以了解rails控制台和捆绑控制台之间的区别吗?有没有办法在irb中自动加载所有宝石而不是require gem?
答案 0 :(得分:15)
以下是一个很好的解释:What's the Difference Between irb
, bundle exec irb
, bundle console
, and rails console
?
irb 是基本的Ruby控制台。它忽略了你的Gemfile,只有核心 Ruby类可以在不需要它们的情况下访问。它不容易 加载Bundler在RubyGems的加载路径之外安装的gems。
bundle exec irb 就像irb,如果你还需要bundler / setup。您 只能轻松地需要Gemfile.lock中的宝石,但是你 无论Bundler把它们放在哪里,都可以装载这些宝石。
捆绑控制台就像捆绑exec irb一样,如果你也打过电话 Bundler.require。 Gemfile中的所有gem,除了那些 标记为require:false,可以在不需要它们的情况下使用。是真的 当你编写自己的宝石或在非Rails上工作时很方便 代码。
rails console 就像在Rails应用程序中运行捆绑控制台一样 你还需要config / environment.rb。你可以玩你的整个 Rails应用程序,自动加载和数据库连接工作,一切都是 迷上了你期望的方式。如果您正在使用Rails应用程序,请执行此操作 是最有用的控制台。
答案 1 :(得分:1)
亚历山大的答案很棒。
我只是想补充说还有运行
的选项捆绑exec rails console
它结合了来自Aleksandr的答案的 rails console 和 bundle exec irb 的所有内容。