web-dev-qa-db-ja.com

RVMを使用してLionにRailsをインストールできないのはなぜですか?

RVMを使用してOS X LionにRailsをインストールしようとすると、問題が発生します。

これまでのところ、次のことを行ってきました。

  1. Mac OS X Lionバージョン10.7(ビルド11A459e)をインストールしました。
  2. XCode 4.1 Developer Preview 5をインストールしました。
  3. インストール済みのRVM。
  4. コマンドrvm install 1.8.7を使用してRVMを介してRubyの1.8.7バージョンをインストールしました。注:1.9.2ではなく1.8.7を使用する必要があります。
  5. コマンドrvm 1.8.7を使用して、1.8.7バージョンのRubyに切り替えました。
  6. コマンドrvm gemset create Rails3を使用して新しいgemsetを作成しました。
  7. rvm use 1.8.7@Rails3コマンドを使用して、新しいgemsetに切り替えました。
  8. インストールするRailsコマンドgem install Railsを実行しましたが、次のエラーが表示されました。

    /Users/m/.rvm/rubies/Ruby-1.8.7-p334/lib/Ruby/1.8/timeout.rb:60:[バグ]セグメンテーション違反

Gemコマンドを実行しようとすると同じエラーが発生するため、Railsの問題ではないと思います。

以下のリンクから判断すると、この問題を抱えているのは私だけではないようです。

http://Twitter.com/#!/pingles/status/66261101351927809 および https://github.com/carlhuda/bundler/issues/1058

83
Michael Jerome

それを修正しました!

答えは、実際に私が上に投稿したリンクの1つにありました。 Ruby(rvm install 1.8.7)のバージョンをインストールする前に、 "export CC=/usr/bin/gcc-4.2 "。これで、すべてがスムーズに実行されました。

CCを恒久的にエクスポートしたくない場合は、CC=/usr/bin/gcc-4.2 rvm install 1.8.7

既にインストール済みの場合Ruby 1.8.7。ただCC=/usr/bin/gcc-4.2 rvm reinstall 1.8.7

77
Michael Jerome

Xcode 4.2をインストールしている場合、実際には非LLVM gccはインストールされないため、追加する必要があります。何らかの理由で、4.2をインストールした後4.1にダウングレードしても正しく動作しません(少なくとも私にとってはそうではなく、他の人も同様の問題を抱えていました)。

かなりのスラッシングの後、これは最終的に私のために働いたものです:

  1. App StoreからXcode 4.2をインストールする
  2. OSX gcc installer を使用してdarwin gccをインストールします
  3. REEをインストールして、以前の試行の痕跡を必ず削除してください。

開いているターミナルウィンドウをすべて閉じ、新しいウィンドウを開いて、

rvm remove ree
export CC=/usr/bin/gcc-4.2
rvm install ree

これはrvm 1.8.6、OS X 10.7.2およびgcc-4.2バージョン4.2.1(Appleビルド5666)で機能しました。

Xcode 4.1をすでにインストールしている場合は、4.2にアップグレードしたいという衝動に抵抗してください。大丈夫です。

24
Matt Sanders

それでも解決しない場合は、-forceを追加します。したがって、これは次のようになります。

CC=/usr/bin/gcc-4.2 rvm install Ruby-1.8.7 --force

22

export CC=/usr/bin/gcc-4.2」を実行して「rvm remove 1.8.7」を使用する前に、すでにインストールしている場合は必ず1.8.7を削除してください。

7
HeroicEric

私のシステムでも同じ問題が発生しました。 Xcodeコマンドライン tools from AppleこれはLLVMコンパイラに同梱されており、LLVMフリーのものは付属していません。

Ruby 1.8.7はCC=clangがなくてもLLVMコンパイラでは動作しないため、LLVMフリーのgccをインストールすると問題が解決します。

ここにリストされた複数のオプションがあります:

https://github.com/mxcl/homebrew/wiki/Custom-GCC-and-cross-compilers

要するに、GCC v4.2を Homebrew でインストールします:

brew install https://raw.github.com/Homebrew/homebrew-dupes/master/Apple-gcc42.rb

およびtheninstall Ruby 1.8.7:

CC=gcc-4.2 rvm install 1.8.7
6
KARASZI István

の代わりに "export CC=/usr/bin/gcc-4.2" 行う "export CC=gcc "(xCode 4.2.xをインストールする必要があります)。

4
xpepermint

次のようなgccのバージョンを確認してください。

ls -Al `which gcc-4.2`

ここの指示に従いました: http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion

brew update
brew tap homebrew/dupes
brew install Apple-gcc42

次に再インストールします。

Gccへのパスが何であるかをもう一度確認してください(CC =に使用するため):

ls -Al `which gcc-4.2`

(オプション)たとえば、これを.bashrcで設定できます。

export CC=/usr/bin/gcc-4.2

(オプション)古いバージョンのRubyを削除します

rvm remove 1.8.7

次に:

CC=/usr/local/bin/gcc-4.2 rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk 

または、プロファイルにCCを設定している場合

rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk 

Rvmインストールのフラグに注意してください。 ftpサーバーでチェックサムを確認するのに問題があり、tckとその他の問題がありました。これらのフラグを省略できる場合があります。

また、gemsetの古いバージョンを削除する必要がある場合があります。

rvm gemset delete <gemset>

それから

gem install bundler
bundle install

お役に立てれば。

2
Rimian

MacportおよびRuby-1.9.xバージョンを使用します。 Rails with Ruby gem。

1
Henry Kim

私は〜/ .rvmrcで行をコメントするとき、Arch x86_64に対してのみ同じ問題があります

rvm_archflags="-Arch x86_64"

新しいターミナルを開き、Ruby-1.8.7を再度インストールしようとしました

rvm install 1.8.7

成功しました。

1

開発ワークフローでRVMを使用している場合、OS X Lionの.rvmrcファイルに修正を追加しました。

https://Gist.github.com/1112962

(更新されたファイル名)

0
Brad Gessler

このページの他のすべての提案にもかかわらず、私はまだセグメンテーション違反を抱えていてイライラしていました。そして、システム提供のRuby 1.8.7を使用します:

rvm use system

GemのインストールにはSudoを使用する必要がありますが、それでも頭痛は少なくなります。

0
Aidan Feldman

CC=/usr/bin/gcc-4.2 rvm install 1.8.7がうまくいきませんでした。CC=/usr/bin/gcc rvm install 1.8.7そしてそれはしました( "which gcc"で確認)

0

私の解決策は、ターミナルの/ usr/bin/gccシンボリックリンクを上書きすることでした。以下がその方法です。

https://plus.google.com/101970693023462019144/posts/eYVLvMCqTmc

これにより、RVMのインストールが修正されただけでなく、ネイティブ拡張(rmagickなど)を使用したgemのインストールが確実に機能するようになりました。

0
Mark Maglana

これはRVMとは関係ありませんが、探しているのがLionのローカル開発環境である場合、試してみることができます RubyStack これは無料のオープンソースのオールインワンインストーラーですApache、MySQL、Ruby、Railsなど。コンパイルは不要で、自己完結型なので、気に入らない場合はインストールディレクトリを削除するだけで完了です。免責事項:私はRubyStack開発者の1人です:)

0
Beltran