2012-01-30 3 views
0

Ruby 1.9.2를 사용하여 Rails 3 앱에서 선언적 권한을 얻으려면 Railcast # 188을 따르고 보석을 설치하는 데 문제가 있습니다.Rake gems : 선언적 승인을 따를 때 수율 오류가 발생 함 Railscast

라이언은 다음과 config/environment.rb에 추가 제안 :

config.gem "declarative_authorization", :source => "http://gemcutter.org" 

그런 다음 sudo rake gems:install로 설치합니다.

그러나 나는 오류 얻을 때 :

/Users/Travis/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems.rb:314:in `bin_path': can't find gem rake ([">= 0"]) with executable rake (Gem::GemNotFoundException) 

내가 rake gems:install 시도를하지만,이 오류를 가지고 : GitHub에서 declarative_authorization를 설치하는

Don't know how to build task 'gems:install' 

지침을 다른 프로세스를 추천하는 나도 따라 갔지만 아직도 지나갈 수 없었다 rake:gems install.

아무도 무슨 일이 일어나고 있는지 알 수 없으므로이 문제를 해결할 수 있습니까?

UPDATE :은 여기 내 설정은/environment.rb에 보이는 무엇과 같은 :

RVM의 -v : rvm 1.10.0-pre 보석 목록 :

*** LOCAL GEMS *** 

abstract (1.0.0) 
actionmailer (3.0.9, 3.0.5) 
actionpack (3.0.9, 3.0.5) 
activemodel (3.0.9, 3.0.5) 
activerecord (3.0.9, 3.0.5) 
activeresource (3.0.9, 3.0.5) 
activesupport (3.0.9, 3.0.5) 
addressable (2.2.6) 
arel (2.0.10) 
aws-s3 (0.6.2) 
aws-sdk (1.3.2) 
builder (2.1.2) 
bundler (1.0.21 ruby) 
cocaine (0.2.1, 0.2.0) 
erubis (2.6.6) 
faraday (0.7.6, 0.7.5) 
fastercsv (1.5.4) 
gemcutter (0.7.1) 
heroku (2.14.0) 
httparty (0.8.1) 
i18n (0.6.0, 0.5.0) 
jquery-rails (1.0.19, 1.0.16) 
json (1.6.5) 
launchy (2.0.5) 
mail (2.2.19) 
metaclass (0.0.1) 
mime-types (1.17.2) 
mocha (0.10.3, 0.10.2, 0.10.0) 
multi_json (1.0.4) 
multi_xml (0.4.1) 
multipart-post (1.1.4) 
nifty-generators (0.4.6) 
nokogiri (1.5.0) 
paperclip (2.5.2, 2.5.0, 2.4.5) 
pg (0.12.2, 0.12.0, 0.11.0) 
polyamorous (0.5.0) 
polyglot (0.3.3) 
rack (1.2.5, 1.2.4) 
rack-mount (0.6.14) 
rack-test (0.5.7) 
rails (3.0.9, 3.0.5) 
railties (3.0.9, 3.0.5) 
rake (0.9.2.2, 0.9.2, 0.8.7) 
rake-compiler (0.7.9) 
ransack (0.6.0, 0.5.8) 
rdoc (3.8) 
rest-client (1.6.7) 
rubyzip (0.9.5) 
simple_oauth (0.1.5) 
sqlite3 (1.3.5, 1.3.4) 
sqlite3-ruby (1.3.3) 
term-ansicolor (1.0.7) 
thor (0.14.6) 
treetop (1.4.10) 
twitter (2.1.0, 2.0.2) 
tzinfo (0.3.31, 0.3.30) 
uuidtools (2.1.2) 
xml-simple (1.1.1) 

답변

0

환경이 설정, 단순히 방법 확실하지 갈퀴를 설치하면됩니다. 자세한 내용 (rvm, bundler 등)을 제공하면 도움이 될 수 있습니다.

gem install rake 

경로를 자세히 조사하면 RVM을 사용하고있는 것으로 보입니다. 경로가 제대로 설치되면 RVM Global gemset을 사용하고 위의 행을 실행할 수 있습니다.

내가 제안한 또 다른 제안은 CanCan railscast를 확인하는 것입니다. 요즘은 더 많은 지지자들도 인정하고 있습니다.

http://railscasts.com/episodes/192-authorization-with-cancan

"몇 가지 에피소드 전에 우리가 선언적 권한 부여가 레일을위한 우수한 인증 플러그인이 있지만 그것은 간단 사이트에 대해 조금 무거운 될 수 있습니다. 덮여. 선언적 인증 라이언 베이츠에 Railscast를 작성 후 찾았다 대안을 찾지 못하고 자신의 필요에 맞는 것을 찾지 못하면 자신의 CanCan을 쓰기로 결정했습니다. " - RBates

환경을 확인한 후에 환경을 조금씩 분리 해 봅니다. 이 작업을 수행.

rvm gemset create some_other_name 
rvm gemset use some_other_name 
bundle install 

이렇게하면 사용자 환경이 충분히 분리되는지 확인하십시오.

편집 : 레이크 보석을 사용하지 않습니다. 더 이상 설치하지 마십시오. 번들러가 설치되어 있고 그것을 사용하고 싶다고 가정합니다. 나는 gemname 레일을 사용한다 : 그 문서가 존재할 때 설치하고, 다시 레일 스 캐스트를보고, rbates가 당신에게 말하는 것을 볼 것이다.

CANCAN github 페이지에서 다음과 같이 말합니다 : 레일 3에서 이것을 Gemfile에 추가하고 bundle 명령을 실행하십시오. 보석 "cancan".

+0

자세히 알려 주시면 감사하겠습니다. 위의 업데이트로 붙여 넣습니다. – tvalent2

+0

공지 사항도 약간 수정되었습니다. CanCan을 사용하면 더 나은 지원을받을 수있을 것이라고 생각합니다. Ryan은 railscasts에 명시된대로 declartive auth gem의 틈을 메꾸기 위해 그것을 개발했습니다. –

+0

흠, 괜찮아. 그럼 CanCan을 확인해 볼게. 제안 해 주셔서 고맙지 만, 아직도 진행중인 일에 대해 궁금합니다. – tvalent2