Phoenix:运行mix ecto.create错误编译Ranch依赖

时间:2018-05-14 19:07:38

标签: phoenix-framework rebar3

我正在尝试浏览Phoenix框架网站上的Up And Running教程。我有以下设置:

  • macOS 10.14.5
  • Phoenix 1.4.6
  • Elixir 1.8.2
  • Erlang / 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"更新它。或用#34;混合deps.clean牧场"

清洁它

如果我运行mix phx.server,我会收到同样的错误。

如果我运行mix deps.clean ranchmix 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时,我得到了关于无法编译依赖项的相同错误:ranch。

我进行了互联网搜索,看看是否有其他人有同样的问题。某人与mix ecto.create有关的每个问题都涉及创建数据库用户。没有其他人对牧场有任何疑问。

我需要做些什么才能让Up and Running教程正常运行?

1 个答案:

答案 0 :(得分:1)

我在Ubuntu下遇到了这个问题,问题是〜/ .configure文件夹对我当前的用户不可读。更改该文件夹及其内容的所有者和组可以为我们解决问题。

通过在〜/ .config文件夹中将权限更改为600,我可以使用Elixir 1.7.4和Erlang 20.1在MacOS下重新创建此问题。将权限设置回755即可进行编译。