J'ai un script Ruby appelé foo.rb, et je veux l'exécuter dans le contexte de l'environnement de bundle. Comment?
bundle exec foo.rb
ne fonctionne pas, car exec attend un script Shell.
Passez le nom du script à la commande Ruby
:
bundle exec Ruby script_name
Si vous souhaitez également l'environnement Rails:
bundle exec Rails runner script_name
Par exemple, je voulais utiliser la même version de Rubocop que mon application Rails et non la version la plus récente du système. Pour ce faire, utilisez un script:
require 'bundler'
Bundler.require
# ...
M'a permis d'utiliser la version de rubocop de mon application.
Vous pouvez simplement en faire un script - ajouter
#!/usr/bin/env Ruby
au début du fichier et le rendre exécutable. Alors bundle exec foo.rb
fonctionnera comme prévu.
(Ceci est sous Unix ou OSX - pas sûr de Windows)
Voir http://bundler.io/v1.15/man/bundle-exec.1.html#Loading
Voir également https://coderwall.com/p/kfyzcw/execute-Ruby-scripts-directly-without-bundler-exec pour savoir comment exécuter des scripts Ruby avec des dépendances intégrées, sans avoir besoin de bundle exec