두 가지 방법으로는 Ruby 업데이트가 불가능합니다

두 가지 방법으로는 Ruby 업데이트가 불가능합니다

Mac 10.6.8에 Ruby 버전 1.9.3을 설치하려고 합니다.

$ \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.

내 버전:

Oskar-Niburskis-MacBook-Pro:~ oskarniburski$ ruby --version
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin10.0]

로그 파일 출력:

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.

그런 다음 MacPorts를 사용하여 설치를 시도했지만 여전히 작동하지 않았습니다. 어떤 아이디어가 있나요?

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?

이것이 나의 현재 경로입니다:

/opt/local/bin:/opt/local/sbin:/usr/local/git/bin:/usr/X11/bin:/Users/oskarniburski/.rvm/bin:/usr/X11R6/bin:/Library/ 프레임워크/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

'which -a make'도, located -b '\make'도 마찬가지입니다. 첫 번째 명령에 대해 찾을 수 없는 명령과 후자에 대해 다음 명령을 찾습니다:illegal option --b

답변1

질문 1:make

첫 번째 문제는 Ruby를 컴파일해야 한다는 것인데, 이는 일반적으로 다음을 통해 수행됩니다.makea에서 설정을 읽은 Makefile다음 컴파일러를 호출합니다. OSX에 make설치하면 예상했던 위치 와 다른 위치 Xcode에 도구가 설치됩니다 . 이 디렉토리는 기본 디렉토리가 아니므 로 쉘은 이 디렉토리에서 실행 파일을 찾을 수 없습니다./Developer/usr/bin/usr/bin$PATH

사용자에게 다음 줄을 추가하면 이 문제를 해결할 수 있습니다 ~/.bash_profile( export $PATH줄 앞에 추가해야 합니다).

PATH="/Developer/usr/bin:$PATH" 

sudo그러나 예를 들어 루트로 실행되는 명령은 여전히 ​​액세스할 수 없습니다. 이 디렉터리를 기본 경로에 추가하는 것이 좋습니다. 를 열고 /etc/profile경로를 정의하는 줄을 찾아 여기에 디렉터리를 추가합니다. 저는 Linux를 사용하고 있는데 다음과 같습니다.

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

다음과 같이 해당 디렉토리의 끝에 디렉토리를 추가하면 됩니다.

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/Developer/usr/bin"

기본값을 변경하지 않으려면 make기본값의 디렉터리에 연결할 수 있습니다 $PATH.

 sudo ln -s /Developer/usr/bin/make /usr/bin

거기에 있는 모든 항목에 대해 이 작업을 수행해야 하므로 /Developer/usr/bin기본값을 변경하는 것이 좋습니다.

질문 2: 새 버전을 찾고 있습니다

이 시점에서 Ruby를 설치할 수 있어야 합니다.

$ sudo port install ruby19

올바르게 종료되지만 Ruby 버전이 업데이트되지 않은 것 같습니다.

$ ruby --version
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin10.0]

이 때문입니다,기본적으로, port해당 파일을 설치 하고 Ruby /opt/local실행 파일 을 /opt/local/bin/ruby1.9. 당신의 길에. 추가 하면 v1.8 및 v1.9를 실행할 수 있습니다 . 기존 스크립트를 모두 v1.9로 전환하려면 새 버전을 선택하는 것이 좋습니다.$PATH/opt/local/bin$PATHruby1.9/opt/local/bin$PATHrubyruby1.9/usr/bin/ruby

이전 버전은 /usr/bin실제로 심볼릭 링크입니다.

$ 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

즉, 안전하게 삭제하고 새 버전에 대한 링크로 바꿀 수 있습니다.

$ sudo rm /usr/bin/ruby; sudo ln -s  /opt/local/bin/ruby1.9  /usr/bin/ruby

rubyv1.8을 백업하고 실행 하려면 반대 명령을 실행하세요.

$ sudo rm /usr/bin/ruby; sudo ln -s  /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby  /usr/bin/ruby

모든 것이 순조롭게 진행되었다면 ruby이제 기본값은 v1.9입니다.

$ ruby --version
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin10]

답변2

이 요지를 확인해 보세요. Mountain Lion에 설치하는 방법을 보여줍니다.

MacPorts 또는 Homebrew 사용에 집중하세요. 이것을 이해하고 나면 설치 방법이 표시됩니다 rvm.

관련 정보