我正在尝试阅读Phoenix框架网站上的Up And Running教程。我有以下设置:
macOS 10.14.5
凤凰1.4.6
药剂1.8.2
Erlang / OTP 22
我用mix phx.new
命令创建项目。系统提示我获取并安装依赖项。我键入Y
。依赖关系已获取并成功安装。
我进入我的项目目录并输入以下命令:
mix ecto.create
出现以下错误:
(混合)无法编译依赖项:ranch,“ / Volumes / Macintosh HD / Users / mark / .mix / rebar3裸编译--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
时,遇到无法编译依赖项:ranch的错误。我进行了互联网搜索,看是否还有其他人遇到同样的问题。某人与
mix ecto.create
所遇到的每个问题都涉及创建数据库用户。没有人对牧场有任何疑问。为了使Up and Running教程正常运行,我该怎么做?
最佳答案
我在Ubuntu下遇到了这个问题,问题是当前用户无法读取〜/ .configure文件夹。更改该文件夹及其内容上的所有者和组可以为我们解决问题。
通过将〜/ .config文件夹的权限更改为600,我可以使用Elixir 1.7.4和Erlang 20.1在MacOS下重新创建此问题。将权限设置回755即可进行编译。
关于phoenix-framework - Phoenix:运行mix ecto.create编译牧场依赖项时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50337377/