我想帮助修补vagrant-persistent-storage 插件中的一个错误,该错误是由 VirtualBox (4.3.0r89960) 和 Vagrant (1.3.5) 的最新版本引起的。
具体来说,VirtualBox 似乎已弃用命令中的--sataportcount
标志vboxmanage storagectl
,以获得更简洁的--portcount
标志。
我一般不熟悉 vagrant 插件开发,但如果我能够准确地确定正在使用的 VirtualBox 的版本,我可以很容易地修复有问题的标志。
- 是否可以在 vagrant 插件中比较 VirtualBox 的版本以保持与旧 VirtualBox 版本的向后兼容性?
如果没有,是否有任何其他流浪插件必须使用命令行响应vboxmanage -v
来做出特定于版本的决定?我宁愿不必重新发明轮子...
提前感谢您的任何提示!
更新:我发现可以在 VirtualBox 提供程序插件中将版本作为字符串获取:
module VagrantPlugins
module ProviderVirtualBox
module Driver
class Base
@version
然而,这只是 VirtualBox 版本号 ( ) 的字符串表示形式,而不是允许严格比较'4.3.0'
的正确版本号 ( )。4.3.0
我意识到我可以自己进行这种比较,但似乎应该有一种方法(在 Vagrant 中)来管理 VirtualBox/提供者的依赖关系。