web-dev-qa-db-ja.com

Ruby 2つの方法を使用して更新が機能しない

私はこれを使ってRubyバージョン1.9.3をMac10.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.

私のバージョン:

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 option--b

3
Rakso Zrobin

問題1:make

最初の問題は、Rubyをコンパイルする必要があり、通常はmakeから設定を読み取る Makefile を介して実行されることです。 OSXでは、makeXcodeとともにインストールされ、ツールは/Developer/usr/binではなく/usr/binにインストールされます。このディレクトリはそうではありません。デフォルトの$PATHであるため、その中の実行可能ファイルはシェルによって検出されません。

この行を~/.bash_profileに追加することで、ユーザーのためにこれを修正できます(export $PATH行の前に必ず追加してください):

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

ただし、rootとして実行されているコマンド(たとえば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 withをインストールできるはずです。

$ 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としてインストールするためです。 。$PATHにないさらに別のディレクトリ。したがって、上記のプロセスを繰り返して/opt/local/bin$PATHに追加するか、Ruby1.9実行可能ファイルをにリンクすることができます。パス内にあるディレクトリ。/opt/local/bin$PATHに追加すると、v1.8をRubyで実行し、v1.9をRuby1.9で実行できるようになります。 。既存のすべてのスクリプトをv1.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

元に戻してRubyにv1.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
terdon

この要点を見てください。 MountainLionにインストールする方法を示します。

MacPortsまたはHomebrewの使用方法を強調しています。それを二乗すると、rvmを使用してインストールする方法が示されます。

0
slm