Tentei instalar o Ruby versão 1.9.3 com isso no meu 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.
Minha versão:
Oskar-Niburskis-MacBook-Pro:~ oskarniburski$ ruby --version
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin10.0]
Saída do arquivo de log:
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.
E então tentei instalar usando MacPorts, mas também não funcionou novamente. Alguma ideia?
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?
Aqui está o meu caminho agora:
/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
Nem de 'qual -a make' nem de localizar -b '\make'. O primeiro tem qual comando não encontrado, e para o último, a opção localizar:illegal --b
Responder1
Problema 1:make
O primeiro problema é que Ruby precisa ser compilado e isso geralmente é feito atravésmake
que lerá as configurações de a Makefile
e chamará o compilador. No OSX make
é instalado com Xcode
o qual instala suas ferramentas em /Developer/usr/bin
vez de /usr/bin
onde seria de esperar. Este diretório não está no padrão, $PATH
portanto nenhum executável nele contido é encontrado pelo shell.
Você pode corrigir isso para o seu usuário adicionando esta linha ao seu ~/.bash_profile
(certifique-se de adicioná-la antes export $PATH
da linha):
PATH="/Developer/usr/bin:$PATH"
No entanto, isso ainda não estará acessível a nenhum comando executado como root ( sudo
por exemplo). Eu recomendo que você adicione este diretório ao caminho padrão. Abra /etc/profile
, encontre a linha que define o caminho e adicione o diretório a ela. Estou em um sistema Linux, mas deve ser algo assim:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Basta adicionar o diretório ao final para que fique assim:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/Developer/usr/bin"
Se não quiser alterar o padrão, você pode vincular make
a um diretório que esteja no padrão $PATH
:
sudo ln -s /Developer/usr/bin/make /usr/bin
Você terá que fazer isso para tudo que estiver incluído, /Developer/usr/bin
então eu realmente recomendo que você altere o padrão.
Problema 2: encontrar a nova versão
Neste ponto você deve ser capaz de instalar o Ruby com
$ sudo port install ruby19
Isso sai corretamente, mas sua versão Ruby não parece estar atualizada:
$ ruby --version
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin10.0]
Isto é porque,por padrão, port
instala seus arquivos /opt/local
e instalará seu executável Ruby como /opt/local/bin/ruby1.9
. Mais um diretório que não está no seu arquivo $PATH
. Portanto, você pode repetir o processo acima e adicionar /opt/local/bin
ao seu $PATH
ou pode vincular o ruby1.9
executável a um diretório que esteja no seu caminho. Se você adicionar /opt/local/bin
ao seu $PATH
, poderá executar v1.8 com ruby
e v1.9 com ruby1.9
. Se você deseja que todos os seus scripts existentes mudem para /usr/bin/ruby
a versão 1.9, recomendo que você opte pela nova versão.
A versão antiga em /usr/bin
é na verdade um link 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
Isso significa que você pode excluí-lo com segurança e substituí-lo por um link para a nova versão:
$ sudo rm /usr/bin/ruby; sudo ln -s /opt/local/bin/ruby1.9 /usr/bin/ruby
Se você quiser reverter e executar ruby
a versão 1.8, basta executar o comando inverso:
$ sudo rm /usr/bin/ruby; sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby /usr/bin/ruby
Se tudo correu bem, seu padrão ruby
agora é v1.9:
$ ruby --version
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin10]
Responder2
Dê uma olhada nesta essência. Mostra como instalá-lo para Mountain Lion.
Destaca como usar MacPorts ou Homebrew. Depois de resolver isso, ele mostra como instalar usando o rvm
.