2017-06-30 1 views

Répondre

1

Ceci est un résultat de Ruby utilisant /bin/sh pour exécuter des commandes shell, alors que vous utilisez probablement /bin/bash dans Terminal sur une base quotidienne. La manière dont chacun est chargé et les configurations spécifiques présentes dans chacun d'eux modifieront la configuration.

Si vous exécutez which rails à partir des deux appels à system et dans votre terminal, vous verrez probablement des chemins différents. Vérifiez echo $PATH et vous verrez probablement des résultats différents aussi.

Pour résoudre la situation, vous pouvez consulter What's the difference between .bashrc, .bash_profile, and .environment? qui vous permettra de mieux comprendre ce qui se passe, puis d'ajuster la configuration de votre shell pour l'adapter.

+0

j'ai couru'echo path' de $ dans les deux et a obtenu le même résultat '/Users/xxxxx/.rvm/gems/ruby-2.3.3/bin:/Users/xxxxx/.rvm/gems/ruby- [email protected]/bin: /Users/xxxxx/.rvm/rubies/ruby-2.3.3/bin: /Users/xxxxx/.rvm/bin:/usr/local/mysql/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin' – robzdc

+0

Je viens de trouver que lors de l'exécution 'gem list --local' dans le terminal les gemmes sont différentes de celles avec' system() ' – robzdc

+0

@robzdc vous avez des vars ENV différents alors. – coreyward