我有一個名爲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這就像爲什麼一切都在你最後看的地方 - 因爲你停止尋找;) –