从Ubuntu中删除或降级Erlang

3
我在操作系统中安装了Erlang/OPT 20,但Phoenix框架显示以下错误消息:
当我运行命令时:
 iex -S mix  

我得到:

Erlang/OTP 20 [erts-9.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]

** (Version.InvalidRequirementError) ~> 1.3 or ~> 1.4
    (elixir) lib/version.ex:159: Version.match?/3
    (mix) lib/mix/local.ex:100: Mix.Local.check_elixir_version_in_ebin/1
    (elixir) lib/enum.ex:645: Enum."-each/2-lists^foreach/1-0-"/2
    (elixir) lib/enum.ex:645: Enum.each/2
    (mix) lib/mix/local.ex:50: Mix.Local.append_archives/0
    (mix) lib/mix/cli.ex:8: Mix.CLI.main/1

我之前使用的是Erlang 19版本,升级后破坏了Phoenix。为了降级到旧版本,我尝试从官网下载并手动安装,但无法使用安装程序进行替换(系统认为新版本更好,不会要求替换)。
然后我尝试使用以下命令完全删除它:
sudo apt-get purge erlang

而令我惊讶的是,它并没有被移除:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'erlang' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

"包 'erlang' 未安装,因此未被移除"
2个回答

5
我用以下命令行解决了这个问题:
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb       
sudo dpkg -i erlang-solutions_1.0_all.deb
sudo apt-get update
sudo apt-get install esl-erlang=1:19.3.6

我从这篇文章中得到了以下信息:


在Ubuntu上运行最后一个命令时出现以下错误: E: 未找到“esl-erlang”的版本“1:19.3.6”。 有任何指针吗? - FrankDupree
对于任何遇到“...esl-erlang未找到”问题的人,请使用以下命令检查可用的软件包:apt-cache policy esl-erlang。只有1:19.3.6.8或1:19.3.6.12-1是您应该使用的软件包。 太长不看版:sudo apt-get install esl-erlang=1:19.3.6.8 - Matzy schneider

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接