bundle exec е команда на Bundler за изпълнение на скрипт в контекста на текущия пакет (този от Gemfile на вашата директория). rake db:migrate е скриптът, където db е пространството от имена, а migrate е дефинираното име на задачата.
Необходим ли е пакет exec?
Изпълнява се пакет exec и Bundler. изискването едновременно не е проблем, така че е безопасно да използвате bundle exec дори когато не е необходимо, стига да има Gemfile в тази директория, той няма да активира gems два пъти.
Какво правят bundle exec rails?
bundle exec прави редица промени в обвивката, след което изпълнява командата, която сте посочили в пълен размер. Той също така модифицира Rubygems: забранява зареждането на допълнителни скъпоценни камъни, които не са в пакета. модифицирайте метода на gem, за да бъде без операция, ако скъпоценен камък, отговарящ на изискванията, е в пакета, и да повдигнете Gem::LoadError, ако не е.
Как да спра пакетно изпълнение?
Обикновено ще натиснете Ctrl-C, за да спрете webrick, когато стартира без опция -d.
Защо трябва да пиша bundle exec?
Bundler exec изисква файла за настройка на Bundler, който позволява на Bundler да прави всичките си хакове за намиране на файлове, когато по-късно се нуждаете от нещо. Но в някои случаи може да откриете, че ако променливите на вашата среда вече са настроени правилно, изискванията може просто да работят без помощта на Bundler.