【问题标题】:How to get older tag of a git repository in elixir via mix file如何通过混合文件在 elixir 中获取 git 存储库的旧标签
【发布时间】:2016-09-20 00:50:00
【问题描述】:

我正在尝试通过 elixir 中的 mix.exs 文件安装旧版本的库 cqerl

这就是我的代码的样子:

 defp deps do
    [
      {:cqerl, git: "https://github.com/matehat/cqerl.git",tag: "v0.9.0"}
    ]

但由于某种原因,它没有安装 0.9.0 标签,而是安装了最新标签。

我想知道我的代码有什么问题以及如何从 Cqerl 存储库中正确提取正确的标签。

TIA :)

【问题讨论】:

  • 在将tag: "v0.9.0" 添加到mix.exs 之后,您确定要执行mix deps.get 吗?
  • 是的。我什至一起删除了deps文件夹,然后混合deps.get和混合deps.compile。它正在获取最新的 1.0 版本的 cqerl。
  • cd deps/cqerl && git rev-parse HEADmix deps.get 之后的输出是什么?根据 Github,我收到了 e05a57019c7476621f7295d76ed656e6e1401a0e,这是 v0.9.0 所指的。
  • 我首先得到了不同的输出。但是一旦我删除了 mix.lock 文件和 deps.get,我就开始和这个一样了。

标签: git elixir elixir-mix


【解决方案1】:

我不得不删除 mix.lock 文件以及 deps 文件夹。所以,基本上我做了以下事情:

rm mix.lock
rm -rf deps/
mix deps.get

这样,它奏效了。

我现在使用的是 Elixir 版本 1.2.4,这是一个混合错误。后来我才知道它已经通过elixir-lang irc在master中修复了。

【讨论】:

    【解决方案2】:

    修改mix.exs中repo的tag后,你应该执行mix deps.update cqerl,这将更新mix.lock并使用修改后的tag。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-20
      • 2020-12-05
      • 2017-02-23
      相关资源
      最近更新 更多