(UndefinedFunctionError)未定义函数List.Chars.to_charlist / 1

时间:2016-08-03 13:41:47

标签: postgresql elixir phoenix-framework

我通过iex -S mix phoenix.server启动凤凰应用服务器,并收到以下错误:

[error] GenServer #PID<0.10289.0> terminating
** (UndefinedFunctionError) undefined function List.Chars.to_charlist/1
(elixir) List.Chars.to_charlist("localhost")
(postgrex) lib/postgrex/protocol.ex:46: Postgrex.Protocol.connect/1
(db_connection) lib/db_connection/connection.ex:134:      DBConnection.Connection.connect/2
(connection) lib/connection.ex:622: Connection.enter_connect/5
(stdlib) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message: nil
State: Postgrex.Protocol

我认为这可能是由我的config.exs引起的:

config :bCareServer, BCareServer.Repo,
  adapter: Ecto.Adapters.Postgres,
  database: "bcareserver_dev",
  hostname: "localhost",
  pool_size: 10

尚未设置数据库。当我运行`mix ecto.setup时,它会得到同样的错误。

Postgresql效果很好:

[root@Makercas001 bCareDev]#su - postgres
[postgres@Makercas001 ~]$psql
psql (9.5.3)
Type "help" for help.

postgres=# 

它在我的MacBook上工作正常,只在CentOS上失败。 环境:CentOS6.5,Erlang / OTP 18,Elixir 1.2.6。

2 个答案:

答案 0 :(得分:1)

List.Chars.to_charlist是1.3中的新内容。 Changelog

之前,它是List.Chars.to_char_list

答案 1 :(得分:0)

OH,我使用了更高版本的灵药,当重新安装elixir 1.2时,我忘了再次运行mix do deps.get, compile,请原谅我......