我通过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。
答案 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
,请原谅我......