답변:
먼저 Gemfile에 rake가 언급되어 있는지 확인하십시오. 그렇지 않은 경우 추가하고 "이미 활성화 한"버전을 지정하십시오.
그런 다음 번들에 앱에 사용중인 레이크 버전을 업데이트하도록 알려야합니다.
bundle update rake
당신을 Gemfile.lock
위해 업데이트 됩니다.
현재 다음과 같은 rake 명령을 사용하고있는 곳
rake db:migrate
대신 사용 :
bundle exec rake db:migrate
이것은 최신 버전의 레일 및 / 또는 레이크가 함께 잘 작동 할 때까지 적용됩니다.
레이크 0.9.0은 레일을 끊습니다.
여기를보십시오 : Rake 0.9.0 'undefined method'task ''
bundle exec rake
대신 사용 rake
하여 올바른 버전에서 rake를 실행하십시오.
오보세요, 미래입니다. 저에게는 0.9.5를 원할 때 레이크 10.x가 설치되어 있다고 불평했습니다. 확실하지는 않지만 Ruby에 익숙하지 않아서 최근 버전 번호에 무슨 일이 일어 났는지 조사했지만 제가 한 일은 다음과 같습니다.
gem uninstall rake
gem install rake -v 0.9.5
시스템이 앱이 원하는 레이크 버전을 설치하도록 강제합니다 (저에게는 Octopress였습니다).
요청하지 않은 내용을 이해하면 Gemfile
파일 을 열고 줄을 변경해야합니다.
gem 'rake', '0.8.7'
...에...
gem 'rake', '0.9.0'
gem list
). gem 'rake', '0.8.7'
에서 여전히 지정되어 있다면 Gemfile.lock
0.8.7 gem을 문제없이 사용할 것입니다. 그렇지 않은 경우 Gemfile (.lock이 아님)에 bundle
추가 한 후 실행 하여 gem 'rake', '~> 0.8.7'
아무 내용이 없는지 확인하십시오.
이것을 Gemfile에 추가하십시오
# Rake 0.9.0 break Rails.
gem "rake", "!= 0.9.0"
그런 다음 rake-0.9.0 을 제거하십시오.