Похоже, что Bundler устанавливает переменные среды $ BUNDLE_BIN_PATH и $ BUNDLE_GEMFILE при запуске исполняемых файлов.Например, сделайте следующее:
env >/tmp/1
bundler exec env >/tmp/2
diff -u /tmp/[12]
Вы увидите различия в среде.
Итак, в вашем сценарии развертывания вы можете сделать что-то вроде этого:
abort "You must run this using 'bundle exec ...'" unless ENV['BUNDLE_BIN_PATH'] || ENV['BUNDLE_GEMFILE']
Надеюсь, это поможет.