![在哪里可以找到 Redmine 插件的要求设置?](https://linux22.com/image/1406690/%E5%9C%A8%E5%93%AA%E9%87%8C%E5%8F%AF%E4%BB%A5%E6%89%BE%E5%88%B0%20Redmine%20%E6%8F%92%E4%BB%B6%E7%9A%84%E8%A6%81%E6%B1%82%E8%AE%BE%E7%BD%AE%EF%BC%9F.png)
我正在尝试安装易红矿插件到 Bitnami Redmine 2.5.0 堆栈。(这是 Ubuntu 12.04 VM)我想我在最后一步我被困住了。当我运行“bundle exec rake easyproject:install RAILS_ENV=production”命令时,我收到一个 rake 错误,主要问题是:
...
调用清除会话...
rake 中止!
Redmine::PluginRequirementError: easy_extensions 插件需要 Redmine 2.5.1 或更高版本,但当前版本为 2.5.0.stable
/home/.../redmine-2.5.0-0/apps/redmine/htdocs/lib/redmine/plugin.rb:188:in `block in require_redmine'
...
就这样一直循环下去,我找到了这个 plugin.rb 文件,但是找不到包含版本要求的相关文件。
我的问题是:
1- 此需求部分位于哪个文件中?
2- 如果我将其更改为我的版本 2.5.0,我可以安装该插件吗?
3- 如果我以这种方式欺骗它来安装插件,我以后会遇到与版本相关的问题吗?
答案1
我花了半天时间解决这个问题。我认为这至少对那些因 Redmine 插件安装相关的版本要求问题而陷入困境的人有所帮助。
如果您仔细检查错误消息中的 plugin.rb 文件,您会发现要求语句位于 init.rb 文件中。其路径可以在 plugin.rb 的初始化部分中找到,该部分位于第 123 行。我有点难以理解它指向插件自己的根路径。在那里我找到了主 init.rb 文件,其中第 173 行又有一个初始化部分,它指向我的最终目的地,该目的地在它之前几行定义。初始化部分之前的行确实定义了一些路径,最终将我带到了“…/plugins/easyproject/easy_plugins/easy_extensions/init.rb”。
该文件的最后一行是“requires_redmine:version_or_higher => '2.5.1'”,这就是你施展魔法的地方。
在我将其编辑为“2.5.0”之后,bundle rake install 命令确实通过迁移插件做出了正确响应。
现在我的 Redmine 有了插件并且运行正常,但唯一不确定的是这是否会在将来导致版本不兼容问题。
如果遇到问题,我会报告。我已经向 easyredmine 支持人员询问了这个问题,正在等待他们的回复。2.5.0 和 2.5.1 之间的变化很小,这让我感到些许安慰。