UbuntuでRailsを実行しているときに問題が発生する
-
06-07-2019 - |
質問
最初にいくつかの背景。 Ubuntuの新規インストールで Community Engine を実行しようとしています。 CEは、Railsで実行されるオープンソースのソーシャルネットワーキングプラグインです。私は、問題なしでWindowsボックスでCEを起動して実行することができました。現在、開発環境としてUbuntu 8.10を使用することにしましたが、この問題にこだわっています。私はこれをこの数晩調査しましたが、まだ行き詰っています。
命令のこのステップに到達すると、(ここにあります):
Generate the community engine migrations:
$ script/generate plugin_migration
次のエラーが表示されます:
myuser@compy:~/Projects/MyProject$ script/generate plugin_migration
/home/myuser/Projects/MyProject/config/../vendor/plugins/engines/boot.rb:4: This version of the engines plugin requires Rails 2.1.1 or later! (RuntimeError)
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /home/myuser/Projects/MyProject/config/environment.rb:12
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /home/myuser/Projects/MyProject/vendor/rails/railties/lib/commands/generate.rb:1
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from script/generate:3
ここに私のバージョンのルビーがあります:
myuser@compy:~/Projects/MyProject$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
およびインストール済みのgem:
myuser@compy:~/Projects/MyProject$ gem list
*** LOCAL GEMS ***
actionmailer (2.2.0, 2.1.2, 2.1.1)
actionpack (2.2.0, 2.1.2, 2.1.1)
activerecord (2.2.0, 2.1.2, 2.1.1)
activeresource (2.2.0, 2.1.2, 2.1.1)
activesupport (2.2.0, 2.1.2, 2.1.1)
aws-s3 (0.5.1)
builder (2.1.2)
capistrano (2.5.0)
cgi_multipart_eof_fix (2.5.0)
daemons (1.0.10)
fastthread (1.0.1)
gem_plugin (0.2.3)
haml (2.0.4)
highline (1.4.0)
hpricot (0.6.164)
htmlentities (4.0.0)
mime-types (1.15)
mongrel (1.1.5)
net-scp (1.0.1)
net-sftp (2.0.1)
net-ssh (2.0.4)
net-ssh-gateway (1.0.0)
rails (2.2.0, 2.1.2, 2.1.1) <--- clearly I have rails 2.1.1 or greater
rake (0.8.3)
RedCloth (4.1.0)
rmagick (2.7.1)
sqlite3-ruby (1.2.4)
xml-simple (1.0.11)
レール2.1.1のみを使用している場合にもこのエラーが発生しました。
はい、CEに必要なものよりもはるかに多くの宝石がありますが、これを追跡しようとすると、これが私が見つけたものです。私は、問題が何であれ、それは愚かであり、私はそれを捕まえるべきであるというこっそりした疑いを持っています。しかし、現時点では、XPボックスでの単純なプロセスに非常に不満を感じています。
Community Engine googleグループでこの質問をしましたが、これはCE自体よりも自分のマシンでのRubyとRailsのセットアップに関連していると感じています。
ヘルプをいただければ幸いです。
解決 2
この問題は、sudoを使用してレールをインストールしないことが原因でした。私はルビーを完全に吹き飛ばし、再インストールしました。また、ダウンロードして実行するために、インストールする必要のあるさまざまなgemの出力にも細心の注意を払いました。それらの多くがダウンロードに失敗し、インストールする前に2回、または3回実行する必要があることに驚いた。
Orionの提案に関して、私はRAILS_GEM_VERSIONをチェックしましたが、2.1.1以上でした。それが、どのバージョンが必要であるかを言っていたので、この問題で最も混乱を引き起こしていました、そして、gem -vは私に正しいバージョンを示します。
他のヒント
&quot;問題&quot; CommunityEngine自体からではなく、基礎となる「エンジン」プラグイン( http://github.com/lazyatom/エンジン)。
エンジンプラグインのboot.rbのソースコードを見る標準のRails :: VERSIONフィールドをチェックするだけなので、問題もありません。
今、railsアプリを作成すると、最初にrailsアプリを作成したときに使用した特定のバージョンに関連付けられます。レール2.1.1 / 2 gemをシステムに配置するだけでは、自動的に使用されるわけではありません。
実際のRailsアプリ自体を確認するには、Railsアプリの config / environment.rb
ファイルを見てください。次のようなものが表示されます。
# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.1.0' unless defined? RAILS_GEM_VERSION
2.1.1未満の場合、railsアプリをアップグレードする必要があります。
これは非常に単純です:
-
config / environment.rb
のRAILS_GEM_VERSION
文字列を2.1.1以降に変更します -
rake rails:upgrade
を実行します
うまくいけば、これで問題が解決します:-)