【发布时间】:2015-02-04 00:04:51
【问题描述】:
在灵药中:
在尝试为 Ecto 编译依赖项时,我遇到了 Mix 和 poolboy 的以下错误:
>mix compile
** (Mix) 应用程序 poolboy 指定了一个非语义版本 `cat VERSION`。混合只能匹配要求~> 1.2.1 对语义版本,要匹配任何版本,请使用正则表达式作为要求
我使用的是 Windows 8.1
这是我的混音部门:
注意:我必须对 postgrex 使用“~> 0.6.0”,否则它会抱怨依赖解析。 (在 Ecto 文档中,它只是说使用 ">= 0.0.0")
defp deps do
[
{:postgrex, "~> 0.6.0"},
{:ecto, "~> 0.2.5"}
]
end
从编译错误消息来看,似乎是 mix 没有正确处理某些东西,或者 poolboy 没有并且可能不在 Ecto 一侧?
无论如何,有人知道如何解决此问题或有解决方法吗?谢谢。
【问题讨论】:
-
您是否尝试过直接将 Poolboy 添加为依赖项?我的意思是像 defp deps 做 [{postgrex, "~> 0.6.0"}, {:ecto, "~> 0.2.5"},{:poolboy, "~> 1.2.1"}] end
-
@OnorioCatenacci - 刚试了一下,没用,结果一样。
-
看来 poolboy 正在尝试通过 cat (github.com/devinus/poolboy/blob/master/src/poolboy.app.src#L3) 设置版本。我会说这绝对是一个 poolboy 问题,所以你可能想在 poolboy repo 上打开一个问题。
-
如果您在 Windows 上使用 Cygwin 或 MinGW,您可能能够构建东西。您还可以从此处获取适用于 Windows 的 cat 命令:unxutils.sourceforge.net 或此处:gnuwin32.sourceforge.net/packages/coreutils.htm
标签: elixir elixir-mix ecto