Mam skrypt Ruby o nazwie foo.rb, i chcę go uruchomić w kontekście środowiska bundler. W jaki sposób?Jak uruchomić skrypt ruby w kontekście pakietu bundler?
bundle exec foo.rb
nie działa, ponieważ exec oczekuje skryptu powłoki.
Mam skrypt Ruby o nazwie foo.rb, i chcę go uruchomić w kontekście środowiska bundler. W jaki sposób?Jak uruchomić skrypt ruby w kontekście pakietu bundler?
bundle exec foo.rb
nie działa, ponieważ exec oczekuje skryptu powłoki.
podać nazwę skryptu z poleceniem ruby
:
bundle exec ruby script_name
Jeśli chcesz także środowiska szyn:
bundle exec rails runner script_name
na przykład, chciałem użyć tej samej wersji Rubocop jak moje Rails Aplikacja, a nie najnowsza wersja systemowa, więc w scenariuszu:
require 'bundler'
Bundler.require
# ...
Pozwolił mi korzystać z mojej wersji aplikacji Rubocop.
Można po prostu zrobić to skrypt - dodaj
#!/usr/bin/env ruby
do początku pliku i uczynić go wykonywalnym. Wtedy bundle exec foo.rb
będzie działać zgodnie z oczekiwaniami.
(Jest to na UNIX lub OSX - nie wiesz o Windows)
Zobacz http://bundler.io/v1.15/man/bundle-exec.1.html#Loading
także zobaczyć https://coderwall.com/p/kfyzcw/execute-ruby-scripts-directly-without-bundler-exec na temat uruchamiania skryptów Ruby z wiązanych zależności, bez potrzeby bundle exec
Wow, który został dość oczywiste z perspektywy czasu. –
@MichieldeMare To jak dlaczego wszystko jest na ostatnim miejscu, na które wyglądasz - ponieważ przestajesz patrzeć;) –