ruby 在Rails应用中使用gem时,如何自动安装gem(如active_storage和devise)?

lnlaulya  于 2023-06-05  发布在  Ruby
关注(0)|答案(1)|浏览(157)

我创建了一个自定义gem,其中集成了一些基本的gem,如主动存储,devise和will_paginate等。因此,当我们通常添加active_storage gem时,我们必须运行创建其迁移的active_storage安装命令,当我在一些rails应用程序中使用我创建的gem时,我的gem发生了一些事情,它需要我使用该命令才能正常工作并创建迁移,有没有任何方法可以在脚本中添加这些命令,我希望开发人员在bundle安装命令后使用,就像所有的devise或active存储命令一次运行一样,不需要逐个运行它们。
我已经尝试添加一些脚本,但我不知道在哪里写?

iyfjxgzm

iyfjxgzm1#

有几种方法可以在你自己的gem中指定gem依赖项。
如果你的gem名为my_awesome_tem,那么在my_awesome_gem.gemspec文件中,你可以像这样指定开发时和运行时的依赖关系:

# my_awesome_gem.gemspec
Gem::Specification.new do |s|
  s.name = "my_awesome_gem"
  s.version = "0.1"

  s.authors = ["My Name"]
  s.description = "just does awesome things"
  s.files         = Dir['Gemfile', 'Rakefile', 'README.md','app/**/*','config/**/*','db/**/*','lib/**/*','spec/**/*']
  s.summary = "awesome gem"

  s.add_runtime_dependency("rails", ["> 7.0.0"])
  s.add_development_dependency("sqlite3-ruby")
  s.add_development_dependency("capybara")
  s.add_development_dependency("rspec-rails", [">= 2.0.0"])
  s.add_development_dependency("faker")
  s.add_development_dependency("factory_bot_rails")
  s.add_development_dependency("database_cleaner")
  s.add_runtime_dependency("haml")
end

# Gemfile
source "http://rubygems.org"
gemspec

或者,您可以将它们包含在gem的Gemfile中,与Rails应用程序相同

相关问题