Intenté instalar Ruby versión 1.9.3 con esto en mi Mac 10.6.8:
$ \curl -L https://get.rvm.io | bash -s stable --ruby
Oskar-Niburskis-MacBook-Pro:~ oskarniburski$ rvm install ruby-1.9.3-p362
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.6/i386/ruby-1.9.3-p362.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Installing requirements for osx.
Updating system.............................................
Installing required packages: autoconf, automake, libtool, pkgconfig, libiconv, libyaml, libffi, readline, libksba, openssl, curl-ca-bundle, sqlite3, zlib, gdbm, ncurses...
Error running 'requirements_osx_port_libs_install autoconf automake libtool pkgconfig libiconv libyaml libffi readline libksba openssl curl-ca-bundle sqlite3 zlib gdbm ncurses',
please read /Users/oskarniburski/.rvm/log/1380238189_ruby-1.9.3-p362/package_install_autoconf_automake_libtool_pkgconfig_libiconv_libyaml_libffi_readline_libksba_openssl_curl-ca-bundle_sqlite3_zlib_gdbm_ncurses.log
Requirements installation failed with status: 1.
Mi version:
Oskar-Niburskis-MacBook-Pro:~ oskarniburski$ ruby --version
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin10.0]
Salida del archivo de registro:
Oskar-Niburskis-MacBook-Pro:~ oskarniburski$ cat /Users/oskarniburski/.rvm/log/1380238189_ruby-1.9.3-p362/package_install_autoconf_automake_libtool_pkgconfig_libiconv_libyaml_libffi_readline_libksba_openssl_curl-ca-bundle_sqlite3_zlib_gdbm_ncurses.log
[2013-09-26 19:30:17] requirements_osx_port_libs_install
requirements_osx_port_libs_install ()
{
__rvm_try_sudo port install "$@" || {
typeset ret=$?;
rvm_warn "There were package installation errors, make sure to read the log.";
return $ret
}
}
current path: /Users/oskarniburski
command(16): requirements_osx_port_libs_install autoconf automake libtool pkgconfig libiconv libyaml libffi readline libksba openssl curl-ca-bundle sqlite3 zlib gdbm ncurses
Warning: Xcode does not appear to be installed; most ports will likely fail to build.
---> Computing dependencies for autoconfError: Unable to execute port: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
There were package installation errors, make sure to read the log.
Y luego intenté instalar usando MacPorts, pero tampoco funcionó nuevamente. ¿Algunas ideas?
Oskar-Niburskis-MacBook-Pro:~ oskarniburski$ sudo port install ruby19
Warning: Xcode does not appear to be installed; most ports will likely fail to build.
---> Computing dependencies for ruby19Error: Unable to execute port: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
Aquí está mi camino ahora mismo:
/opt/local/bin:/opt/local/sbin:/usr/local/git/bin:/usr/X11/bin:/Users/oskarniburski/.rvm/bin:/usr/X11R6/bin:/Library/ Frameworks/Python.framework/Versions/3.3/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin:/bin: /usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/Users/oskarniburski/.rvm/bin
Ni de 'cuál -a hacer' ni localizar -b '\hacer'. El primero tiene el comando what not found, y el segundo para localizar: opción ilegal --b
Respuesta1
Problema 1:make
El primer problema es que Ruby necesita ser compilado y eso generalmente se hace a través demake
que leerá la configuración de a Makefile
y luego llamará al compilador. En OSX make
se instala con Xcode
lo que instala sus herramientas en /Developer/usr/bin
lugar de /usr/bin
donde uno esperaría. Este directorio no está en el valor predeterminado, $PATH
por lo que el shell no encuentra los archivos ejecutables que contiene.
Puede solucionar este problema para su usuario agregando esta línea a su ~/.bash_profile
(asegúrese de agregarla antes de export $PATH
la línea):
PATH="/Developer/usr/bin:$PATH"
Sin embargo, ningún comando que se ejecute como root (por ejemplo, con) seguirá sin poder acceder a esto sudo
. Le recomiendo que agregue este directorio a la ruta predeterminada. Abra /etc/profile
, busque la línea que define la ruta allí y agréguele el directorio. Estoy en un sistema Linux pero debería verse así:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Simplemente agregue el directorio al final para que se vea así:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/Developer/usr/bin"
Si no desea cambiar el valor predeterminado, puede vincular make
a un directorio que esté en el valor predeterminado $PATH
:
sudo ln -s /Developer/usr/bin/make /usr/bin
Tendrás que hacer esto para todo lo que hay, /Developer/usr/bin
por lo que realmente te recomiendo que cambies el valor predeterminado.
Problema 2: encontrar la nueva versión
En este punto deberías poder instalar Ruby con
$ sudo port install ruby19
Eso sale correctamente pero su versión de Ruby no parece estar actualizada:
$ ruby --version
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin10.0]
Esto es porque,por defecto, port
instala sus archivos /opt/local
e instalará su ejecutable Ruby como /opt/local/bin/ruby1.9
. Otro directorio más que no está en su $PATH
. Por lo tanto, puede repetir el proceso anterior y agregarlo /opt/local/bin
a su directorio $PATH
o puede vincular el ruby1.9
ejecutable a un directorio que se encuentre en su ruta. Si agrega /opt/local/bin
a su $PATH
, podrá ejecutar v1.8 con ruby
y v1.9 con ruby1.9
. Si desea que todos sus scripts existentes cambien a la versión 1.9, le recomiendo que seleccione /usr/bin/ruby
la nueva versión.
La versión anterior /usr/bin
es en realidad un enlace simbólico:
$ ls -l /usr/bin/ruby
rwxr-xr-x 1 root wheel 76 25 Jun 2010 /usr/bin/ruby -> ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby
Esto significa que puedes eliminarlo de forma segura y reemplazarlo con un enlace a la nueva versión:
$ sudo rm /usr/bin/ruby; sudo ln -s /opt/local/bin/ruby1.9 /usr/bin/ruby
Si alguna vez desea revertir y ejecutar ruby
v1.8, simplemente ejecute el comando inverso:
$ sudo rm /usr/bin/ruby; sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby /usr/bin/ruby
Si todo ha ido bien, su valor predeterminado ruby
ahora es la versión 1.9:
$ ruby --version
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin10]
Respuesta2
Eche un vistazo a esta esencia. Muestra cómo instalarlo para Mountain Lion.
Destaca cómo utilizar MacPorts o Homebrew. Una vez que haya solucionado esto, se mostrará cómo instalarlo usando rvm
.