分享 进来吐个槽。RoR 这边的版本兼容性实在是煎熬人性 activerecord-oracle_enhanced-adapter

dreamrise · 2015年06月24日 · 最后由 dreamrise 回复于 2015年07月30日 · 2501 次阅读

进来吐个槽。RoR 这边的版本兼容性实在是煎熬人性

activerecord-oracle_enhanced-adapter 目前正式的版本只支持到 RAILS 4.1,不支持 RAILS 4.2,在这下面折磨了一天,才发现升级到 prerelease 才正常。

通过 gem install activerecord-oracle_enhanced-adapter 下载的版本只支持到 RAILS 4.1

通过 gem install activerecord-oracle_enhanced-adapter --prerelease 下载的版本支持 RAILS 4.2

好吧,这传说中的版本是 2016-06-19 发布的。

这是特殊的问题,应该特殊对待,我一直觉得 Rails 的版本向后不兼容,是 Feature,不是 bug。 关于 oracle-enhanced 的话题看这里 https://ruby-china.org/topics/26008

你用了最新版本的框架,自然就要考虑应对插件是否跟上的问题,这不仅仅是 Rails 才会有的现象啊。我 Angular 升级 1.3 -> 1.4,立马有两个插件开始抛出异常,太正常不过了。

其实也能算 Gem 的维护者不严谨,应该设置一个比较严格的依赖版本

#6 楼 @jasl yahonda 其实真的很严谨了,所有的 change 都是 PR,看看History.md也是满满的诚意,我倒是觉得用 gem,出了问题不上 github 上看一眼这样很不严谨。。

其实这全看 gem 作者维护的积极程度,很多热门 gem 在 Rails Beta 的期间,就开始做兼容了,等发布就有能用的版本。

#6 楼 @jasl 楼主提交 PR 的机会。

#7 楼 @ericguo 其他地方做的再完善,并没有什么卵用,都和依赖版本约束没有处理好这处不严谨无关。当然作者估计也没有预计这么严重的不兼容情况。

这种是 incompatibility 的情况应当在 gemspec 方式标注兼容情况,否则出现异常存在如下可能:1.自己的使用问题 2.Gem 内部有 Bug 3.和其他插件冲突 4.版本搭配不对,不兼容。

如果交给使用者处理的话,那恐怕要排查的点太多了。

@dreamrise 话说确实是一个提交 PR 的机会~

在 java 连 oracle, 开一个 jetty 提供个 web service 就好了...

等了两天,看到楼主不提,那我就不客气啦。PR642

#12 楼 @ericguo 隔了 1 个月才回来。发现吐槽也能被重视的感觉真好。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号