【问题标题】:How do I point to a local elixir version in mix.exs file?如何在 mix.exs 文件中指向本地 elixir 版本?
【发布时间】:2018-01-06 10:12:09
【问题描述】:

所以我有一个 phoenix 项目,用作某种测试应用程序。如果我想使用我正在使用(并对其进行更改)的 elixir 源代码的本地版本,我如何告诉 phoenix 使用它?我也希望能够使用“iex -S mix”。下面的elixir: ["~> 1.6.0-dev", path: '/my/local/path/to/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

【问题讨论】:

    标签: elixir phoenix-framework


    【解决方案1】:

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

    例如,用$YOUR_LOCAL_ELIXIR_PATH/bin/iex -S mix phx.server 代替iex -S mix phx.server。其他类似mixelixir 的东西都是一样的。

    【讨论】:

      【解决方案2】:

      您的项目已由elixir/iex 运行,因此尝试从mix.exs 文件中设置elixir/iex 版本时存在先有鸡的问题。

      选择环境更多是操作系统的属性,而不是项目的属性。在野外有许多不同的elixir/erlang 版本管理器。我会命名(除其他外);

      我个人使用后者,对此我很满意。它允许为每个项目设置一个本地版本(带有本地.exenv 文件)和一个全局版本,并且可以在不同版本之间轻松切换。

      【讨论】:

      • 感谢您的提示!
      猜你喜欢
      • 2020-03-17
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      • 2015-10-09
      • 1970-01-01
      • 2011-11-06
      • 1970-01-01
      相关资源
      最近更新 更多