[ruby-on-rails] 이미 0.9.0 레이크를 활성화했지만 Gemfile에는 0.8.7 레이크가 필요합니다.

Rails 프로젝트를 실행하려고합니다.

Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

내가 할 경우 : “번들 설치”

그러나 나는 얻고있다

You have already activated rake 0.9.0, but your Gemfile requires rake 0.8.7

하는 동안

rake db:migrate



답변

먼저 Gemfile에 rake가 언급되어 있는지 확인하십시오. 그렇지 않은 경우 추가하고 “이미 활성화 한”버전을 지정하십시오.

그런 다음 번들에 앱에 사용중인 레이크 버전을 업데이트하도록 알려야합니다.

bundle update rake

당신을 Gemfile.lock위해 업데이트 됩니다.


답변

현재 다음과 같은 rake 명령을 사용하고있는 곳

rake db:migrate

대신 사용 :

bundle exec rake db:migrate

이것은 최신 버전의 레일 및 / 또는 레이크가 함께 잘 작동 할 때까지 적용됩니다.


답변

Dobry Den에게 감사합니다, 친구. 하지만 조금 더해야했습니다. 여기에 해결책이 있습니다 (나에게 적합합니다). 나는 추가했다

gem 'rake','0.8.7'

거기에 없었던 Gemfile에 있지만 새 버전의 레일은 자동으로 rake (0.9.0)를 설치합니다.

rake0.9.0을 삭제 gem uninstall rake
한 후를 수행 한 후 bundle update rake데이터베이스를 만들고 마이그레이션 할 수 있습니다.


답변

레이크 0.9.0은 레일을 끊습니다.

여기를보십시오 : Rake 0.9.0 ‘undefined method’task ”

bundle exec rake대신 사용 rake하여 올바른 버전에서 rake를 실행하십시오.


답변

Gemfile에서 원하는 버전을 지정하십시오.

gem 'rake', '0.9.0' 

그때

bundle update rake

rake 작업을 실행하려면 bundle exec를 사용해야합니다.

bundle exec rake db:migrate


답변

오보세요, 미래입니다. 저에게는 0.9.5를 원할 때 레이크 10.x가 설치되어 있다고 불평했습니다. 확실하지는 않지만 Ruby에 익숙하지 않아서 최근 버전 번호에 무슨 일이 일어 났는지 조사했지만 제가 한 일은 다음과 같습니다.

gem uninstall rake
gem install rake -v 0.9.5

시스템이 앱이 원하는 레이크 버전을 설치하도록 강제합니다 (저에게는 Octopress였습니다).


답변

나는 (갈퀴가 아닌 다른 보석과 함께)이 문제가 있었고 다음으로 해결할 수있었습니다.

gem uninstall <complaining gem>
gem install <complaining gem>

bundle install
bundle update

‘sudo’키워드는 사용되지 않았습니다 (예 : sudo 번들 설치). Rails 앱이 검색하지 않을 수있는 디렉토리에 gem을 배치 할 수 있습니다.