1

ruby、rvm、gems などの用語についてはまったくの初心者です。しかし、Ubuntu 12.10 サーバーに Discourse をインストールしようとしています。を使用してすべての宝石をインストールしbundle installましたが、1つだけ保存しますfast_xor

Installing fast_xor (1.1.1) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /home/ubuntu/.rvm/rubies/ruby-2.0.0-p0/bin/ruby extconf.rb 
creating Makefile

make
compiling xor.c
xor.c: In function ‘string_xor’:
xor.c:28:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
xor.c:45:7: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
linking shared-object xor.so

make install
/usr/bin/install -c -m 0755 xor.so /home/ubuntu/.rvm/gems/ruby-2.0.0-p0/gems/fast_xor-1.1.1/lib/fast_xor
/usr/bin/install: cannot create regular file `/home/ubuntu/.rvm/gems/ruby-2.0.0-p0/gems/fast_xor-1.1.1/lib/fast_xor': No such file or directory
make: *** [install-so] Error 1


Gem files will remain installed in /home/ubuntu/.rvm/gems/ruby-2.0.0-p0/gems/fast_xor-1.1.1 for inspection.
Results logged to /home/ubuntu/.rvm/gems/ruby-2.0.0-p0/gems/fast_xor-1.1.1/ext/xor/gem_make.out

An error occurred while installing fast_xor (1.1.1), and Bundler cannot continue.
Make sure that `gem install fast_xor -v '1.1.1'` succeeds before bundling.

プロジェクトを Git からチェックアウトしましたfast_xorが、ソースからコンパイルすると同様のエラーが発生します。

Rubyのrvm list1 つのバージョンのみをリストします。

ubuntu@ip-10-245-40-185:~/discourse$ rvm list

rvm rubies

=* ruby-2.0.0-p0 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

ここからどこへ行けばいいのかわからない?

4

2 に答える 2

4

あなたGemfileの行を置き換えます:

gem 'fast_xor'

次の場合 (バグが修正された Git リポジトリから fast_xor をプルするため):

gem "fast_xor", :git => "git://github.com/CodeMonkeySteve/fast_xor.git"

何らかの理由で git プロトコルがネットワークでファイアウォールで保護されている場合 (私の場合のように)、HTTPS に置き換えることができます。

gem "fast_xor", :git => "https://github.com/CodeMonkeySteve/fast_xor.git"
于 2013-03-25T16:51:22.973 に答える
-3

これはgemのバグです:https ://github.com/CodeMonkeySteve/fast_xor/issues/5

質問をする前に、必ずプロジェクトの課題追跡システムを確認してください。stavkoverflowは、バグを報告するのではなく、問題を解決するためのものです。

于 2013-03-23T09:07:13.397 に答える