在没有 bundle exec 的 Ruby 脚本中需要来自 gem 的文件
Require files from gem in Ruby script without bundle exec
我有一个脚本需要在项目 Gemfile 中定义的 gem 个特定文件。
#!/usr/bin/env ruby
require 'some_gem/helpers/some_helper'
... rest of script
当我 运行 脚本时,出现无法加载 some_helper.rb
的错误。如果我 运行 和 bundle exec command...
那么一切正常。
我知道 bundle exec 将 Gems 暴露给 $LOAD_PATH 这让 require
工作。有没有办法将该功能移动到脚本中,以便用户不必键入 bundle exec
?
在我需要 gem 个文件之前,我是否只需要将 require "bundler/setup"
添加到脚本中?
http://bundler.io/v1.12/#getting-started
:)
#!/usr/bin/env ruby
require 'rubygems' # because reasons.. most probably it is not needed unless you are using really old ruby where it is not loaded by default
# also at the moment rubygems and bundler are being merged :)
require 'bundler/setup' # for things installed with bundler
require 'some_gem/helpers/some_helper'
我有一个脚本需要在项目 Gemfile 中定义的 gem 个特定文件。
#!/usr/bin/env ruby
require 'some_gem/helpers/some_helper'
... rest of script
当我 运行 脚本时,出现无法加载 some_helper.rb
的错误。如果我 运行 和 bundle exec command...
那么一切正常。
我知道 bundle exec 将 Gems 暴露给 $LOAD_PATH 这让 require
工作。有没有办法将该功能移动到脚本中,以便用户不必键入 bundle exec
?
在我需要 gem 个文件之前,我是否只需要将 require "bundler/setup"
添加到脚本中?
http://bundler.io/v1.12/#getting-started
:)
#!/usr/bin/env ruby
require 'rubygems' # because reasons.. most probably it is not needed unless you are using really old ruby where it is not loaded by default
# also at the moment rubygems and bundler are being merged :)
require 'bundler/setup' # for things installed with bundler
require 'some_gem/helpers/some_helper'