对于Ruby独立脚本,Rails喜欢什么部署功能,如Gemfile/"bundle install"etc
这是假设你正在开发一个Ruby脚本,你想测试它,然后进行部署,也许可以将它交付给其他人,你会使用什么样的Rails部署方法,比如:
a) 创业板-标记创业板要求&根据需要安装它们-例如Rails"Gemfile",在其中标记您需要的宝石,然后"捆绑安装"以安装它们
b) File Require-如果*.rb文件在您的脚本目录中,则自动加载它们(我想在Rails中,如果您将类文件放在apps/model目录中,Rails会自动加载/request,这是您的文件)
取决于人们是否希望在他们找到的每台主机上使用它。还取决于该工具是否可以与公共转发共享。
如果它必须工作,而不必担心你是否已经通过bundler安装了gems,你可以在你的独立脚本中使用以下内容来安装gems(如果还没有)(注意系统与用户ruby):
#!/usr/bin/env ruby
require 'rubygems'
def install_gem(name, version=Gem::Requirement.default)
begin
gem name, version
rescue LoadError
print "ruby gem '#{name}' not found, " <<
"would you like to install it (y/N)? : "
answer = gets
if answer[0].downcase.include? "y"
Gem.install name, version
else
exit(1)
end
end
end
# any of the following will work...
install_gem 'activesupport'
install_gem 'activesupport', '= 4.2.5'
install_gem 'activesupport', '~> 4.2.5'
require 'active_support/all'
...
在我看来,宝石是最好的选择。Bundler使入门变得容易;当你运行命令时,它会为你启动一个骨架…
bundle gem <GEM_NAME>
看一看。只要你在gem的.gemspec
文件中指定了你的依赖项,并且有人安装了你的打包gem(他们不需要bundler,只需要RubyGems的gem
命令),依赖项就会作为gem一起安装。