I have inherited a project with a puppet/vagrant/Virtual box setup. The vagrant provision is breaking around my erlangs surrounding rabbitmq-server.
the error:
==> default: err: /Stage[main]/Rabbitmq::Install/Package[rabbitmq-server]/ensure: change from purged to present failed: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install rabbitmq-server' returned 100: Reading package lists...
==> default: Building dependency tree...
==> default: Reading state information...
==> default: Some packages could not be installed. This may mean that you have
==> default: requested an impossible situation or if you are using the unstable
==> default: distribution that some required packages have not yet been created
==> default: or been moved out of Incoming.
==> default: The following information may help to resolve the situation:
==> default:
==> default: The following packages have unmet dependencies:
==> default: rabbitmq-server : Depends: erlang-nox (>= 1:16.b.3) but it is not going to be installed or
==> default: esl-erlang but it is not installable
==> default: Depends: init-system-helpers (>= 1.13~) but it is not installable
==> default: E: Unable to correct problems, you have held broken packages.
I have gone through the steps listed http://www.scotthelm.com/2013/11/27/rabbit-mq-and-erlang-and-ubuntu-oh-my.html
. I installed erlang and erlagn-nox, but when i run erl
my version shows as R14B04 when i want the r16 that rabbitmq plays well with. How do I install a specific version of erlang?
Currently I have tried sudo apt-get install erlang=1:16.b.3-dfsg-1ubuntu2
but it can't be found. Have tried several variations but no luck. My other idea is to download the tar itself and build it, but this seems excessive and it seems like I am missing something more obvious.
you cau use Erlang-Solutions repositories:
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
您可以使用kerl在同一台机器上安装不同的 Erlang/OTP。
1. Remove previous Erlang versions/packages:
$ sudo apt-get purge erlang esl-erlang erlang-base erlang-crypto erlang-eldap erlang-inets erlang-mnesia erlang-os-mon $ sudo apt-get autoremove $ sudo apt-get install -f $ sudo rm -rf /usr/lib/erlang $ cd /usr/local/bin $ sudo rm -f erl $ sudo rm -f erlc $ sudo rm -f epmd $ sudo rm -f run_erl $ sudo rm -f to_erl $ sudo rm -f dialyzer $ sudo rm -f typer $ sudo rm -f escript $ sudo rm -f ct_run
2. Add the repository entry manually:
To get Ubuntu codename type $ lsb_release -c
. In my case it's xenial .
$ sudo nano /etc/apt/sources.list
and add following text at the end of the file:
# Erlang Solutions
deb https://packages.erlang-solutions.com/ubuntu xenial contrib
$ sudo touch /etc/apt/preferences.d/erlang
$ sudo nano /etc/apt/preferences.d/erlang
with the following contents:
Package: erlang* esl-erlang
Pin: version 1:21.3*
Pin-Priority: 501
where 21.3 is the version of Erlang/OTP.
3. Install Erlang:
$ sudo apt-get update $ sudo apt-get install esl-erlang $ sudo ln -s /usr/lib/erlang/bin/erl /usr/local/bin/erl
4. Check installed Erlang version:
$ erl -eval '{ok, Version} = file:read_file(filename:join([code:root_dir(), "releases", erlang:system_info(otp_release), "OTP_VERSION"])), io:fwrite(Version), halt().' -noshell
Related link: https://www.erlang-solutions.com/resources/download.html
First download the required version from http://erlang.org/download
wget http://www.erlang.org/download/otp_src_R16B01.tar.gz
tar -xvzf otp_src_R16B01.tar.gz
sudo chmod -R 777 otp_src_R16B01
cd otp_src_R16B01
sudo ./configure
sudo make
sudo make install
All the best
You may also check solution called EVM
here is the detailed information : https://github.com/robisonsantos/evm
Install Erlang
cd /tmp/
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 -y
sudo apt-get install erlang -y
Install RabbitMQ from source
cd /tmp/
echo 'echo "deb http://www.rabbitmq.com/debian/ testing main" >>
/etc/apt/sources.list' | sudo -s
wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
sudo apt-key add rabbitmq-signing-key-public.asc
sudo apt-get update -y
sudo apt-get install rabbitmq-server -y
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.