2017-07-30 157 views
0

所以我有一个phoenix项目,我用作各种测试应用程序。如果我想使用我正在使用的本地版elixir源代码(并进行更改),我该如何告诉凤凰使用它?我也希望能够使用“iex -S mix”。以下elixir: ["~> 1.6.0-dev", path: '/my/local/path/to/elixir']不起作用,但这是我想要做的。如何在mix.exs文件中指向本地elixir版本?

我已经尝试添加下面,我得到一个语法错误。将elixir添加到依赖关系(在def deps函数中)似乎没有做任何事情。我也使用kiex和kerl进行elixir版本配置。

defmodule PhoenixTestApp.Mixfile do 
    use Mix.Project 

    def project do 
    [ 
     app: :phoenix_testbed, 
     version: "0.0.1", 
     elixir: ["~> 1.6.0-dev", path: '/my/local/path/to/elixir'] 
     elixirc_paths: elixirc_paths(Mix.env), 
     compilers: [:phoenix, :gettext] ++ Mix.compilers, 
     start_permanent: Mix.env == :prod, 
     aliases: aliases(), 
     deps: deps() 
    ] 
    end 
    ## some more default config code generated by Phoenix 
    # : 
    # : 
end 

回答

1

您需要使用本地elixir二进制文件。

例如,而不是iex -S mix phx.server,做$YOUR_LOCAL_ELIXIR_PATH/bin/iex -S mix phx.server。其他的东西,如mix,elixir是一样的。

1

你的项目是由elixir/iex已经运行,所以有鸡还是先有蛋的问题试图从里面mix.exs文件中设置elixir/iex版本。

它更多的是操作系统而不是项目的属性来选择一个环境。版本管理器有很多不同的版本。我会说(除其他外);

我个人用了后,我很高兴。它允许设置每个项目的本地版本(使用本地.exenv文件)全局版本,以及不同版本之间的轻松切换。

+0

感谢您的提示! – Nona

相关问题