我已经构建了一个Rails“应用程序模板”,以生成一个预装了一些常见的gem和配置的Rails应用程序。该模板调用了一些需要安装gem才能工作的生成器,这在我刚在bundler
和rails
之外没有安装gem的新机器上运行它时引起了我的问题。例如,尝试生成模型将失败,因为它需要sqlite3
,它位于Gemfile中但尚未安装。
我试图通过将生成器放在after_bundle
块中,或者在调用它们之前调用run "bundle install"
来解决此问题。无论使用哪种策略,我都会遇到以下奇怪的错误:
加载'sqlite3'Active Record适配器时出错。缺少依赖的宝石吗?无法激活sqlite3(〜> 1.3.6),已激活sqlite3-1.4.0。确保所有依赖项都已添加到Gemfile中。 (LoadError)
从生成的Gemfile中使宝石可供模板使用的正确方法是什么?
答案 0 :(得分:0)
请确保使用“ bundle exec”,以便根据您的Gemfile加载正确的gem。
bundle exec rails g model MyModel