bundle exec és una ordre Bundler per executar un script en el context del paquet actual (el del fitxer Gemfile del vostre directori). rake db:migrate és l'script on db és l'espai de noms i migrate és el nom de la tasca definit.
És necessari l'executiu del paquet?
Running bundle exec i Bundler. require al mateix temps no és un problema, de manera que és segur utilitzar bundle exec encara que no sigui necessari, sempre que hi hagi un Gemfile en aquest directori, no activarà les gemmes dues vegades.
Què fan els rails exec del paquet?
bundle exec fa una sèrie de canvis a l'entorn de l'intèrpret d'ordres i, a continuació, executa l'ordre que especifiqueu al complet. També modifica Rubygems: no permet carregar gemmes addicionals que no estiguin al paquet. modifiqueu el mètode de la joia perquè no sigui operatiu si hi ha una joia que compleix els requisits al paquet, i per generar un Gem::LoadError si no ho és.
Com puc aturar l'execució del paquet?
En general, premeu Ctrl-C per aturar el webrick quan s'iniciï sense l'opció -d.
Per què he d'escriure bundle exec?
L'executiu de paquets de Bundler requereix el fitxer de configuració de Bundler que permet a Bundler fer tots els seus trucs per cercar fitxers per quan més tard necessiteu alguna cosa. Però és possible que en alguns casos trobeu que si les vostres variables d'entorn ja estan configurades correctament, els requisits poden funcionar sense l'ajuda de Bundler.