2008-11-05 2 views
0

먼저 몇 가지 배경. 우분투를 새로 설치할 때 Community Engine을 실행하려고합니다. CE는 Rails에서 실행되는 오픈 소스 소셜 네트워킹 플러그인입니다. 나는 세륨을 얻고 나의 창 상자 승/O 문제점에 달릴 수 있었다. 현재 개발 환경으로 Ubuntu 8.10을 사용하기로 결정했으며이 문제에 집중했습니다. 나는 지난 밤에 이것을 연구했고 아직도 붙어있다.우분투에서 Rails를 실행할 때 문제가 발생합니다.

:

[email protected]:~/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 

여기에 루비의 내 버전입니다 :

Generate the community engine migrations: 

    $ script/generate plugin_migration 

나는 다음과 같은 오류가 발생합니다 : 내가 명령이 단계 (found here)에 도착하면

무슨 일이며,

[email protected]:~/Projects/MyProject$ ruby -v 
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux] 

및 설치된 보석 :

[email protected]:~/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 박스에서 간단한 프로세스가 무엇인지에 대해 매우 좌절감을 나타 냈습니다.

커뮤니티 엔진 google 그룹에서이 질문을했지만, 내 컴퓨터에서 Ruby와 Rails를 CE에 설치 한 것과 관련이 있다고 생각합니다.

도움을 받으실 수 있습니다.

답변

2

이 문제 :-) 문제를 해결 레일 설치를 위해 sudo를 사용하지 않기 때문에 종료되었습니다. 나는 루비를 완전히 날려 버리고 결국 다시 설치했다.나는 또한 그들이 다운로드하고 실행되었는지 확인하기 위해 설치해야하는 다양한 보석의 출력에 세심한주의를 기울였다. 나는 그들 중 많은 수가 다운로드하지 못하고 설치하기 전에 두 번째 또는 세 번째로 실행해야한다는 것을 알고 놀랐다.

오리온의 제안에 대해서는 RAILS_GEM_VERSION을 확인한 결과 2.1.1 이상이었습니다. 그게 무슨 버전이 필요한지 말한 이후로이 문제에 가장 혼란스러운 원인이었고, 보석 -v는 나에게 맞는 버전을 보여주었습니다.

+0

어떻게 실제로 문제를 해결 했습니까? 루비를 재설치하여?! – zengr

+0

글쎄, 좀. 새 설치를하고 우분투를 설치하는 데 어려움이 없으므로 컴퓨터를 포장하여 신선하게 시작했습니다. 작은 손톱에 큰 망치가 있었지만 훨씬 더 간단했습니다. –

+0

http://stackoverflow.com/questions/2762895/error-while-trying-to-install-community-engine-nameerror-undefined-local-vari/2796956#2796956 – zengr

5

"문제"는 CommunityEngine 자체에서 오는 것이 아니라 기본 '엔진'플러그인 (http://github.com/lazyatom/engines)으로 인한 것입니다.

looking at the source code of boot.rb in the engines plugin 표준 Rails :: VERSION 필드 만 검사하므로 문제가 존재하지 않습니다.

이제 레일 앱을 만들 때 레일 앱을 처음 만들 때 을 사용하는 특정 버전에 연결됩니다. 레일에 2.1.1/2 개의 보석이 달린다고해서 자동으로 사용된다는 의미는 아닙니다.

실제 레일 앱 자체를 확인하려면 레일스 앱의 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보다 작 으면 레일 앱을 업그레이드해야합니다.
이 꽤 간단하다 :

실행
  1. 변경 config/environment.rb에서 RAILS_GEM_VERSION 문자열 2.1.1에 이상
  2. rake rails:upgrade

는 희망이