私はこれを使って 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/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
'which -a make' もlocate -b '\make' も見つかりません。前者では which コマンドが見つかりません。後者では、locate:illegal オプション --b が見つかりません。
答え1
問題1:make
最初の問題は、Rubyをコンパイルする必要があることです。これは通常、make
これは から設定を読み取り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
そのファイルを にインストールし/opt/local
、Ruby 実行可能ファイルを としてインストールします/opt/local/bin/ruby1.9
。 これは、 には存在しないもう 1 つのディレクトリです。$PATH
したがって、上記のプロセスを繰り返して を に追加する/opt/local/bin
か、実行可能ファイルを パスにあるディレクトリに$PATH
リンクすることができます。を に追加すると、 で v1.8 を実行でき、 で v1.9を実行できるようになります。 既存のスクリプトをすべて v1.9 に切り替えたい場合は、 を新しいバージョンにポイントすることをお勧めします。ruby1.9
/opt/local/bin
$PATH
ruby
ruby1.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
元に戻して make run v1.8 を実行したい場合はruby
、逆のコマンドを実行するだけです。
$ 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
この gist をご覧ください。Mountain Lion にインストールする方法が示されています。
MacPorts または Homebrew の使用方法を詳しく説明します。これが完了したら、 を使用してインストールする方法を示しますrvm
。