Rails: You have already activated rake 10.3.1, but your Gemfile requires rake 10.2.2 (Gem::LoadError)

后端 未结 15 1923
自闭症患者
自闭症患者 2020-12-05 02:21

Here is my error:

rake aborted!
Gem::LoadError: You have already activated rake 10.3.1, but your Gemfile requires rake 10.2.2. Prepending `bundle exec` to yo         


        
15条回答
  •  青春惊慌失措
    2020-12-05 02:44

    I experienced this issue:

    Here's my solution:

    Solution 1:

    This solution works a lot of the time, simply update the gem causing the issue, say the gem is rack

    bundle update rack
    

    Solution 2:

    In some cases Solution 1 may not work, and you will need to edit your Gemfile.lock file.

    Simply, open your Gemfile.lock file and then change the version to the update requested.

    In my case, the gem was rack, I had rack 2.0.7 defined in my Gemfile.lock file, but my application required rack 2.1.2, I simply had to modify it to rack 2.1.2 in the Gemfile.lock file.

    I then had to uninstall the previous version of rack which is rack 2.0.7

     gem uninstall rack -v 2.0.7
    

    And finally installed the new gem in production

    bundle install --without development test
    

    Solution 3:

    In very rare cases Solution 1 and Solution 2 may not work, and you will need to edit your Gemfile before updating the gem.

    In my case, the gem was puma, I had puma ~> 3.11 defined in my Gemfile, but my application required puma ~> 4.3.1. At this point running bundle update puma and editing my Gemfile.lock file didn't work, since puma ~> 3.11 version specified in the Gemfile would not allow an update to puma ~> 4.3.1.

    I simply had to change the version of puma in the Gemfile to puma ~> 4.3.1 and then ran the command.

    bundle update puma
    

    That's all.

    I hope this helps

提交回复
热议问题