Давайте поэкспериментируем со случайным камнем, не имеет значения, какое.
# Gemfile
gem "hashie"
Давайте установим наш комплект в (полу) нестандартном месте, чтобы ruby
не смог его найти :
bundle install --path=vendor/bundle
ruby -e 'require "hashie"'
# cannot load such file -- hashie (LoadError)
Как и ожидалось, если мы добавим bundle exec
к вышеприведенному, то ruby -e
сможет найти наш драгоценный камень:
bundle exec ruby -e 'puts require "hashie"'
# true
Но даже с bundle exec
, ruby -r
не может найти наш драгоценный камень!
bundle exec ruby -r hashie -e 'puts "win"'
# cannot load such file -- hashie (LoadError)
Единственный найденный мной способ объединения bundle exec
и ruby -r
:
bundle exec ruby -r 'bundler/setup' -r hashie -e 'puts "win"'
# win
The документация для bundle exe c не упоминает ruby -r
, поэтому я спрашиваю здесь, это правильный путь?