【发布时间】:2018-10-24 12:43:51
【问题描述】:
我正在尝试浏览 Phoenix 框架网站上的 Up And Running 教程。我有以下设置:
- macOS 10.14.5
- 凤凰1.4.6
- 灵药 1.8.2
- 二郎/OTP 22
我使用mix phx.new 命令创建项目。系统提示我获取并安装依赖项。我输入Y。成功获取并安装依赖项。
我进入我的项目目录并输入以下命令:
mix ecto.create
出现如下错误:
(Mix) 无法编译依赖项 :ranch, "/Volumes/Macintosh HD/Users/mark/.mix/rebar3 bare compile --paths "/Code/hello/_build/dev/lib/*/ebin""命令失败。
你可以用“mix deps.compile ranch”重新编译这个依赖,用“mix deps.update ranch”更新它或者用“mix deps.clean ranch”清理它
如果我运行mix phx.server,我会得到同样的错误。
如果我运行mix deps.clean ranch 和mix deps.update ranch,它会列出以下未更改的依赖项:
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
connection 1.0.4
cowboy 2.6.3
cowlib 2.7.3
db_connection 2.0.6
decimal 1.7.0
ecto 3.1.4
ecto_sql 3.1.3
file_system 0.2.7
gettext 0.16.1
jason 1.1.2
mime 1.3.1
phoenix 1.4.6
phoenix_ecto 4.0.0
phoenix_html 2.13.2
phoenix_live_reload 1.2.0
phoenix_pubsub 1.1.2
plug 1.8.0
plug_cowboy 2.0.2
plug_crypto 1.0.0
postgrex 0.14.3
ranch 1.7.1
telemetry 0.4.0
这样牧场就编译好了。但是当我再次运行mix ecto.create 时,我得到了关于无法编译依赖项的相同错误:牧场。
我在互联网上进行了搜索,看看是否有其他人有同样的问题。有人遇到mix ecto.create 的每个问题都涉及创建数据库用户。没有其他人对牧场有意见。
我必须做些什么才能让启动并运行教程正常运行?
【问题讨论】:
-
您找到解决方案了吗?我遇到了同样的问题。
-
不,我没有。 Phoenix 1.4 中仍然存在该问题。
-
操作员发布的步骤在 OSX 10.13.6、Phoenix v1.4.0、Elixir 1.6.6(使用 OTP 19 编译)和 Erlang/OTP 20 上对我来说没有错误。虽然,列表依赖关系现在不同了。
-
这个问题似乎与 Elixir 和 OTP 的一个相当具体的组合有关。