2011-11-27 14 views

Respuesta

13

Puede ejecutar which ruby para averiguar dónde se ejecutará el ruby ​​si escribe ruby en el Terminal.

Si desea encontrar más información a cabo sobre el ejecutable, puede ejecutar:

$ ls -l $(which ruby) 
lrwxr-xr-x 1 root wheel 76 Nov 8 12:56 /usr/bin/ruby -> ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby 

Es decir, ejecutar which ruby, y pasar los resultados de eso en ls -l, que le mostrará que es en realidad una enlace simbólico al binario en el marco de Ruby. También puede utilizar file para averiguar qué tipo de archivo es:

$ file $(which ruby) 
/usr/bin/ruby: Mach-O universal binary with 2 architectures 
/usr/bin/ruby (for architecture x86_64): Mach-O 64-bit executable x86_64 
/usr/bin/ruby (for architecture i386): Mach-O executable i386 

Si desea asegurarse de que ejecute el rubí que se encuentra en la ruta del usuario de un guión, en lugar de codificar donde Ruby es, usted puede utilizar la siguiente directiva intérprete en la parte superior de la secuencia de comandos:

#!/usr/bin/env ruby 

Esto funciona porque casi todos los sistemas modernos tienen un ejecutable en /usr/bin/env que ejecutará la utilidad que se pasa a ella en función de su trayectoria; Entonces, en lugar de codificar de forma rígida /usr/bin/ruby en su secuencia de comandos, puede dejar que env busque en su ruta por usted.

3

whereis ruby en una ventana de terminal le dirá

+3

Generalmente, 'which' es más confiable que' whereis'. 'which' encontrará el que está realmente en su camino, mientras que' whereis' se verá en ciertos directorios estándar; si tiene directorios no estándar en su ruta (como '/ opt/local/bin' para MacPorts),' whereis' no encontrará lo que está buscando. –

2

debería buscar que sea bajo System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby
y se enlazan a /usr/bin/ruby.

ejecutando which ruby le dará la ubicación exacta del ruby ​​utilizado si hay una o más implementaciones en su sistema.

Cuestiones relacionadas