2012-01-11 3 views
5

j'ai un exécutable Ruby (c'est un binstub de Bundler) qui commence parComment référencer le ruby ​​local dans un exécutable hash-bang?

#!/usr/bin/env ruby 

Sur mon serveur, j'ai Ruby 193 installé via RVM.

$ which ruby 
-> /home/dtuite/.rvm/rubies/ruby-1.9.3-p0/bin/ruby 

Sur ma machine locale, j'ai aussi Ruby installé via RVM, mais dans un autre endroit (évidemment!)

$ which ruby 
-> /Users/davidtuite/.rvm/rubies/ruby-1.9.3-p0/bin/ruby 

Lorsque je tente de lancer cet exécutable sur le serveur je reçois une erreur

/usr/bin/env: ruby: No such file or directory 

Est-il possible que je peux faire référence au rubis dans le bang de hachage de sorte que le même script disponible localement exécutera sur le serveur et la machine locale?

+0

Courez-vous le script sous le même compte d'utilisateur, ou avec sudo ou un tel? – d11wtq

+0

Même compte d'utilisateur –

+1

Que se passe-t-il lorsque vous tapez '/ usr/bin/env ruby ​​-v' à l'invite? – d11wtq

Répondre

3

Essayez rvm-auto-ruby - il est expliqué dans un contexte quelque peu différent dans RVM's Textmate documentation.

+0

Yep qui l'a fait. Merci. –

+0

Désolé, j'ai dû accepter cela parce que ce qui fonctionne hier ne semble pas fonctionner aujourd'hui. [nouvelle question] (http://stackoverflow.com/questions/8840742/cant-start-service-with-sudo-since-root-user-has-no-access-to-ruby) –

+0

Ok. J'ai décidé de reprendre cette réponse parce qu'elle répond essentiellement à la question que j'ai posée. Le fait que j'ai posé la mauvaise question n'est pas une raison valable pour ne pas accepter. –

Questions connexes