4

Rubyを使うのはこれが初めてです。Gemsのインストールにsudoを使用しないことに気付いたので、このtutotrial(http://pragmaticstudio.com/blog/2010/9/23/install-rails-ruby-mac)に従ってRVMをインストールし、バージョンを更新できるようにしました。 Rubyをインストールしてから、Middleman(http://middlemanapp.com/)をインストールします。

RVMのインストールは機能しましたが、「#compiling」段階でRuby 1.9.3をインストールすると、次のエラーが発生します。

'make'の実行中にエラーが発生しました。/Users/Mark/.rvm/log/ruby-1.9.3-p385/make.logをお読みください。makeの実行中にエラーが発生しました。インストールを停止します。

ログファイルを開きましたが、これまでに見た他の多くの問題とは異なり、ファイルには「readline」への参照は含まれていませんが、Rubyインストールの「#compiling」段階に関連すると思われる「コンパイル」への参照が含まれています。以下は、make.logへの出力です。

[2013-02-12 09:04:26] make
    CC = clang
    LD = ld
    LDSHARED = clang -dynamic -bundle
    CFLAGS = -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32 -Werror=implicit-function-declaration  -pipe 
    XCFLAGS = -include ruby/config.h -include ruby/missing.h -fvisibility=hidden -DRUBY_EXPORT
    CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -I/Users/Mark/.rvm/usr/include -I. -I.ext/include/x86_64-darwin12.2.0 -I./include -I.
    DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace  
    SOLIBS = 
compiling main.c
compiling dmydln.c
compiling dmyencoding.c
compiling version.c
compiling dmyversion.c
compiling miniprelude.c
compiling array.c
compiling bignum.c
bignum.c:2732:26: warning: while loop has empty body [-Wempty-body]
        while (--ny && !zds[ny]); ++ny;
                                ^
bignum.c:2732:26: note: put the semicolon on a separate line to silence this warning
1 warning generated.
compiling class.c
compiling compar.c
compiling complex.c
compiling dir.c
compiling dln_find.c
compiling enum.c
compiling enumerator.c
compiling error.c
compiling eval.c
compiling load.c
compiling proc.c
compiling file.c
compiling gc.c
gc.c:3060:1: warning: unused function 'chain_finalized_object' [-Wunused-function]
chain_finalized_object(st_data_t key, st_data_t val, st_data_t arg)
^
1 warning generated.
compiling hash.c
compiling inits.c
compiling io.c
compiling marshal.c
compiling math.c
compiling node.c
compiling numeric.c
compiling object.c
compiling pack.c
compiling parse.c
compiling process.c
compiling random.c
compiling range.c
compiling rational.c
compiling re.c
compiling regcomp.c
compiling regenc.c
compiling regerror.c
compiling regexec.c
compiling regparse.c
regparse.c:582:15: error: implicit conversion loses integer precision: 'st_index_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
    return t->num_entries;
    ~~~~~~ ~~~^~~~~~~~~~~
1 error generated.
make: *** [regparse.o] Error 1

'make --version'を実行すると、次の出力が得られます。

GNU Make 3.81 Copyright(C)2006 Free Software Foundation、Inc.これはフリーソフトウェアです。コピー条件については、ソースを参照してください。保証はありません。商品性や特定の目的への適合性についてもそうではありません。

このプログラムはi386-apple-darwin11.3.0用に構築されています

私は完全に一致する問題を見つけるのに苦労しているので、誰かが助けてくれるならそれは素晴らしいことです。

乾杯、

マーク。

4

2 に答える 2

3

私はここや、リンクされてグーグル検索された他の投稿のアドバイスのいくつかに従いましたが、最終的に、Homebrew を介して GCC を更新することで、最終的に Ruby のインストールをコンパイルして完了することができました。

GCC の更新に使用した特定のリンク: Mac OS X 10.8.2 に Ruby をインストールする

すべての助けに感謝します。それがすべての更新とクリーンアップと GCC の組み合わせなのか、GCC だけなのかはわかりませんが、稼働しています。

于 2013-02-18T13:27:29.133 に答える
1

エラーは表示されませんが、実際には readline が原因です。atmosx で述べたように、Ruby のデフォルトの MAC OS X インストールを削除し、プロセスを最初から実行します。

または、このhttps://rvm.io/packages/readline/に従ってreadline の解決に役立ててください。参考までに、この前の質問も参照してください

したがって、完全な手順は次のとおりです。

rvm pkg install readline 
rvm remove 1.8.7 
rvm cleanup all 
rvm install 1.8.7 -C –with-readline-dir=$rvm_path/usr

ポインターについてhttp://anlek.com/2011/01/rvm-install-1-8-7-p330-fails/のAndrew に感謝します。

于 2013-02-12T11:05:26.700 に答える