碰到个问题,目前用的是最新的 rails6,但是有个 gem 只支持 5.2,但是我创建项目的时候执行的是
Rails _6.0.1_ new ***
如何解锁并降级?
这种场景一般是 fork gem 然后做一些针对性修复以使得 gem 可以应用在新版 rails,或许顺便还可以给 gem 提个 pull request。另外降级 rails 可能会导致其他较新的 gem 出问题。
如果确实要降级,可以先修改 Gemfile 里的版本号,然后试试 bundle update rails,再然后针对出现的依赖错误一个个的修改。
额,可能说的不是很明白,
现在我整个项目是匹配了 Rails 6,我希望能把 Rails 6 降回 Rails 5.2...因为支持 sqlserver 的 gem 最新版本只支持 Rails5.2.。。。然后我创建项目的时候,直接把整个项目的版本定死了 QAQ,咋把项目的版本解锁?我看生成了个 Gemfile.lock,但是删掉的话会直接造成无法找到这个项目,无法 bundle install
额,可能说的不是很明白, 现在我整个项目是匹配了 Rails 6,我希望能把 Rails 6 降回 Rails 5.2...因为支持 sqlserver 的 gem 最新版本只支持 Rails5.2.。。。然后我创建项目的时候,直接把整个项目的版本定死了 QAQ,咋把项目的版本解锁?我看生成了个 Gemfile.lock,但是删掉的话会直接造成无法找到这个项目,无法 bundle install
有 6.0-dev 的 branch,直接用估计就行 https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/6-0-dev
降级和升级是类似的。
把 Gemfile 里的 rails 改成 5.2,然后 bundle update rails,应该会出错,根据出错信息再修改相关 gem 的版本,继续 bundle update,继续修改,如此继续……
看了下 sqlserver gem 的 6-0-dev 分支是 draft 状态,也好几个月没更新了,不知道是不是可用的代码
直接用会提示 alias 的问题。。。具体是啥问题我忘了。。。看了下里面的 issue,大概率是不支持 6 版本,好奇他们咋那么早就开始搞 6 版本的 gem。。。