-1

nginx+thin で Ruby on Rails フレームワークを実行しようとしていますが、現在は WEBrick で作業しています。

ルート アクセス権がありません。Web ホスティング サービスでホストされているためです。

この瞬間まで、gem に関するすべての問題は root アクセスなしで解決されました。

Thin には eventmachine が必要なので、次のようにします。

$ gem install eventmachine

Building native extensions.  This could take a while...
ERROR:  Error installing eventmachine:
        ERROR: Failed to build gem native extension.

/usr/local/bin/ruby18 extconf.rb
checking for rb_trap_immediate in ruby.h,rubysig.h... yes
checking for rb_thread_blocking_region()... no
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... yes
checking for rb_thread_check_ints()... no
checking for rb_time_new()... yes
checking for sys/event.h... yes
checking for sys/queue.h... yes
creating Makefile

make
<cutted non-informative output>

make install
/usr/bin/install -c -o root -g wheel -m 0755 rubyeventmachine.so /www/<hostname>/.gems/gems/eventmachine-0.12.10/lib
install: /www/<hostname>/.gems/gems/eventmachine-0.12.10/lib/rubyeventmachine.so: chown/chgrp: Operation not permitted
*** Error code 71

Stop in /www/<hostname>/.gems/gems/eventmachine-0.12.10/ext.


Gem files will remain installed in /www/<hostname>/.gems/gems/eventmachine-0.12.10 for inspection.
Results logged to /www/<hostname>/.gems/gems/eventmachine-0.12.10/ext/gem_make.out

ruby とインストールされている gem のバージョン:

$ ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [i386-freebsd8]

$ gem list
activesupport (3.0.9)
backports (2.2.1)
bin (0.6.3)
bson (1.3.1)
i18n (0.4.2)
mongo (1.0.9)
rack (1.1.1)
rake (0.8.7)
rake-compiler (0.7.9)
ruby-augeas (0.3.0)
rubygems-update (1.8.5)
sources (0.0.2)
specific_install (0.2.3)
yard (0.7.2)

私は本当に理解していませんでしERROR: Failed to build gem native extension.make install ***Error code 71.

しようとしても同じことが起こる$ gem install thin

4

2 に答える 2

1

エラーはERROR: Failed to build gem native extension.です。通常、システムに何かが欠けていることを意味します。Ruby 開発ライブラリまたは gem の依存関係。この特定のケースでは、libevent (eventmachine の依存関係) がシステムにないと思います。

何がうまくいかなかったのかについての完全な説明は、次の場所にあります。 /www/<hostname>/.gems/gems/eventmachine-0.12.10/ext/gem_make.out

于 2011-06-23T06:20:31.283 に答える
0

アドバイスありがとう、パブロ!

残念ながら、gem_make.out には私が提供した情報しか含まれていませんでした...

freebsd の ruby​​forge バグトラッカーにより、この行を .bashrc に追加すると問題が解決することに気付きまし

export RB_USER_INSTALL="$USER"

source .bashrceventmachine と thin の両方を正常にインストールした後。

于 2011-06-23T11:25:12.740 に答える