我有一个名为foo.rb的Ruby脚本,我想在bundler环境的上下文中运行它。怎么样?如何在bundler上下文中运行ruby脚本?
bundle exec foo.rb
不起作用,因为exec需要一个shell脚本。
我有一个名为foo.rb的Ruby脚本,我想在bundler环境的上下文中运行它。怎么样?如何在bundler上下文中运行ruby脚本?
bundle exec foo.rb
不起作用,因为exec需要一个shell脚本。
传递脚本名称为ruby
命令:
bundle exec ruby script_name
如果你也想Rails环境:
bundle exec rails runner script_name
举例来说,我想用Rubocop的相同版本的我的Rails应用程序,而不是最新的系统之一,所以在脚本中这样做:
require 'bundler'
Bundler.require
# ...
允许我使用我的应用程序的rubocop版本。
你可以只让一个脚本 - 添加
#!/usr/bin/env ruby
到文件的开头,并使其可执行。然后bundle exec foo.rb
将按预期工作。
(这是UNIX或OSX - 关于Windows不知道)
见http://bundler.io/v1.15/man/bundle-exec.1.html#Loading
另见https://coderwall.com/p/kfyzcw/execute-ruby-scripts-directly-without-bundler-exec如何运行捆绑依赖Ruby脚本,而不需要bundle exec
哇,这是回想起来很明显。 –
@MichieldeMare这就像为什么一切都在你最后看的地方 - 因为你停止寻找;) –