sea*_*ic8 6 elixir phoenix-framework
Pheonix变化如此频繁,以至于我不确定我所做的是对的.
我正在尝试按照一些教程,所有这些教程在完成编译后立即执行'mix phoenix.start'命令,并且应该启动服务器.(在Github的问题页面上有一些讨论,他们将用mix phoenix.server命令替换它,你必须手动做一些事情,而不是真正遵循它.无论如何,这是在开发版本v0.8.0-我正在使用最新的稳定版本0.7.2)
我试图发出'mix phoenix.start'命令试图启动服务器
(AppName:PhoenixCrud)时出错:
> mix phoenix.start
=INFO REPORT==== 13-Dec-2014::15:23:08 ===
application: logger
exited: stopped
type: temporary
=INFO REPORT==== 13-Dec-2014::15:23:08 ===
application: cowboy
exited: stopped
type: temporary
=INFO REPORT==== 13-Dec-2014::15:23:08 ===
application: cowlib
exited: stopped
type: temporary
=INFO REPORT==== 13-Dec-2014::15:23:08 ===
application: ranch
exited: stopped
type: temporary
** (Mix) Could not start application phoenix_crud: PhoenixCrud.start(:normal, []) returned an error: shutdown: failed to start child: PhoenixCrud.Endpoint
** (EXIT) an exception was raised:
** (UndefinedFunctionError) undefined function: PhoenixCrud.Endpoint.start_link/0
(phoenix_crud) PhoenixCrud.Endpoint.start_link()
(stdlib) supervisor.erl:314: :supervisor.do_start_child/2
(stdlib) supervisor.erl:297: :supervisor.start_children/3
(stdlib) supervisor.erl:263: :supervisor.init_children/2
(stdlib) gen_server.erl:306: :gen_server.init_it/6
(stdlib) proc_lib.erl:237: :proc_lib.init_p_do_apply/3
Run Code Online (Sandbox Code Playgroud)
文档有更新的phoenix.server命令,但我也尝试了,并且混合说无法找到任务.
无论如何,看起来app_name/lib/app_name /endpoint.ex缺少一个start_link函数.我应该提供吗?我现在还不知道要放什么,因为我只是在试用Phoenix web框架并且对它没有任何了解(因此教程.)
所以,我应该提供start_link函数,如果是这样,有些人可以给我一些存根,现在尝试按照一些教程.否则是一个错误?
这是凤凰版的东西.端点仅在master中可用,但似乎您没有使用master.您应该添加{:phoenix, github: "phoenixframework/phoenix"}到您的mix.exs或产生从0.7.2分支凤凰项目.
我的 git 知识不是那么丰富,但这里是:
要使用0.7.2分支,您需要专门签出v0.7.2标签。所以我就是这样做的:
git clone https://github.com/phoenixframework/phoenix.git
cd phoenix
git checkout tags/v0.7.2
mix do deps.get, compile
mix phoenix.new app_name ../app_name
cd ../app_name
#change the mix deps to: (I think you can just use default hex deps as well)
{:phoenix, github: "phoenixframework/phoenix", tag: "v0.7.2"}
mix do deps.get, compile
mix phoenix.start
Run Code Online (Sandbox Code Playgroud)
否则,您通常 git clone 位于 master 分支上的 Phoenix 代码位于 0.8.0-dev 上,您需要将 deps 设置为 github master 分支(如 @JoseValim 所述)
{:phoenix, github: "phoenixframework/phoenix"}
Run Code Online (Sandbox Code Playgroud)
这意味着,您现在需要使用 mix phoenix.server 命令。
希望对其他人有帮助。
| 归档时间: |
|
| 查看次数: |
1567 次 |
| 最近记录: |