我无法创建我的凤凰城项目.我很想知道如何修复它.

设置详细信息:

  • Ubuntu 16.04.4 LTS
  • Erlang/OTP 21[erts-10.1][source][64位]
  • Elixir 1.7.3(已编译)
  • Mix 1.7.3(使用Erlang/OTP 20编译)
  • 星外v3.0

我正在跟随Phoenix Up and Running来制作一个应用程序.

mix phx.new hello
cd hello
mix ecto.create

最后一个命令告诉我:

 == Compilation error in file lib/hello/repo.ex ==
 ** (ArgumentError) adapter Ecto.Adapters.Postgres was not compiled, ensure it is correct and it is included as a project dependency
     lib/ecto/repo/supervisor.ex:71: Ecto.Repo.Supervisor.compile_config/2
     lib/hello/repo.ex:2: (module)
     (stdlib) erl_eval.erl:680: :erl_eval.do_apply/6
     (elixir) lib/kernel/parallel_compiler.ex:206: anonymous fn/4 in Kernel.ParallelCompiler.spawn_workers/6

我安装了博士后.我有postgres超级用户.

推荐答案

你的依赖项中有phoenix_ecto个3.5.0吗?降级到3.4.0对我来说是一个暂时的解决方案,直到我找到了根本的问题.

要强制降级:

  1. mix deps.clean --all
  2. 删除你的mix.lock文件
  3. mix.exs文件更新为phoenix_ecto版本.找到合适的行并替换为:
  4. mix deps.get

或者,如果您刚刚开始使用Phoenix,您可以使用1.4版进行学习,该版本将很快发布,没有这个问题.

首先删除您当前的本地Phoenix存档:

mix archive.uninstall phx_new

然后,要安装最新的development version,请按照https://github.com/phoenixframework/phoenix/blob/master/installer/README.md中的说明进行操作

Postgresql相关问答推荐

org.postgresql. util.PSQLException:使用docker + docker—compose + kafka + springboot时try 连接失败

如何使用docker/docker-compose转到本地主机?

在PostgreSQL中是否有与SQLite R*Tree类似功能?

为什么更新不设置较晚的结束时间?

如何使用 go-pg 包删除所有记录

在特定距离内创建点的唯一索引

Postgres数据库系统已准备好接受连接和docker compose

在 jOOQ 中使用 $$ 引用字符串

如何在不同的行中显示两列,避免重复并省略空条目

替代在 PostgreSQL 函数中嵌套正则表达式替换?

如何使用 SQLAlchemy 将列默认设置为 PostgreSQL 函数?

在 KnexJS 中插入

如何在 Postgres 中的列上删除唯一约束?

使用 Hibernate 查询:colon gets treated as parameter / escaping colon

如何创建 postgres 数据库模式的 sql 脚本?

将 Windows 上的 .sql 文件导入到 postgresql

如何在 postgresql 交叉表中用零替换空值

实时监控 PostgreSQL 查询的应用程序?

ruby on rails jsonb 列默认值

PostgreSQL 无法启动:server.key具有组或世界访问权限