如何降级 gem 文件中的 gem?
How to downgrande a gem in the gemfile?
我的 Gemfile.lock
里有这个
sequel (5.15.0)
我想将 gem 版本降级到 4.39.0,所以我进入我的 Gemfile 并在 gem 声明旁边添加一个版本:
gem 'sequel', '4.39.0'
和运行bundle exec bundle install
但它给了我:
You have requested:
sequel = 4.39.0
The bundle currently has sequel locked at 5.15.0.
Try running `bundle update sequel`
If you are updating multiple gems in your Gemfile at once,
try passing them all to `bundle update`
Run `bundle install` to install missing gems
。
所以我尝试 运行 bundle exec bundle update sequel
但它 returns 给我同样的信息。
如何降级 gem?
首先尝试更新依赖的gem。如果您要降级,可能是对其他 gem 的依赖关系被破坏了。
最佳实践:
bundle update sequel dependent_gemnames...
如果您没有找到依赖的gem,您也可以尝试更新所有的gem。但是注意!这可能会导致不必要的副作用。
bundle update
最后也是最丑陋的选择是删除您的 Gemfile.lock 和 运行
bundle install
这将重建您的完整 Gem 堆栈,并且应该能够创建一个有效的 Gemfile.lock
您只需致电
bundle update sequel
没有前面的 bundle exec
。
您遇到的问题是由 bundle exec
评估当前 Gemfile
以先执行后一个命令引起的。在这里,它会发现 Gemfile
中指定的宝石与您当前的 Gemfile.lock
中指定的宝石之间的差异,然后退出。
一般来说,任何捆绑包调用都不需要以 bundle exec
为前缀。
我的 Gemfile.lock
里有这个 sequel (5.15.0)
我想将 gem 版本降级到 4.39.0,所以我进入我的 Gemfile 并在 gem 声明旁边添加一个版本:
gem 'sequel', '4.39.0'
和运行bundle exec bundle install
但它给了我:
You have requested:
sequel = 4.39.0
The bundle currently has sequel locked at 5.15.0.
Try running `bundle update sequel`
If you are updating multiple gems in your Gemfile at once,
try passing them all to `bundle update`
Run `bundle install` to install missing gems
。
所以我尝试 运行 bundle exec bundle update sequel
但它 returns 给我同样的信息。
如何降级 gem?
首先尝试更新依赖的gem。如果您要降级,可能是对其他 gem 的依赖关系被破坏了。
最佳实践:
bundle update sequel dependent_gemnames...
如果您没有找到依赖的gem,您也可以尝试更新所有的gem。但是注意!这可能会导致不必要的副作用。
bundle update
最后也是最丑陋的选择是删除您的 Gemfile.lock 和 运行
bundle install
这将重建您的完整 Gem 堆栈,并且应该能够创建一个有效的 Gemfile.lock
您只需致电
bundle update sequel
没有前面的 bundle exec
。
您遇到的问题是由 bundle exec
评估当前 Gemfile
以先执行后一个命令引起的。在这里,它会发现 Gemfile
中指定的宝石与您当前的 Gemfile.lock
中指定的宝石之间的差异,然后退出。
一般来说,任何捆绑包调用都不需要以 bundle exec
为前缀。