重装大法好!
记得初中去网吧上网时有时候网吧的电脑会莫名其妙挂掉,然后我们就会喊网管。
“网管,133号卡死了,快来帮忙看一下,或者给我换一台机!”
“来了,等我泡个面。”
一分钟后,网管就跑过来了,“卡死了啊,让让!”
然后把手伸向重启按钮。又一分钟后,“好了!”。
嗯,重启一下,就好了。
然后我们刚刚开始学习编程的时候,Windows安装软件经常会遇到各种兼容性问题,或者卸载不干净。这个时候我们又想起来:“重装大法好!”那个时候我们可能并不知道怎么根据错误提示去解决问题,但是问题总是在重装系统,重装软件之后解决了。
这几天mac安装rabbitmq准备深入学习一下这个mq。然后想起来去年曾经浅层次的学习过rabbitmq。安装过环境了。随手吧erlang升级成最新版本了。
然后启动rabbitmq-server。
提示rabbitmq-server命令不存在。哦,命令没有加到全局环境变量。那么添加好了。
添加了,继续操作:
BOOT FAILED
===========
Error description:
noproc
Log files (may contain more information):
/usr/local/var/log/rabbitmq/[email protected]
/usr/local/var/log/rabbitmq/rabbit@localhost_upgrade.log
先根据错误提示看问题!嗯,没看懂,然后看看两个日志里有没有什么信息,mmp上一次日志信息是去年的。
然后去网上看看别人的见解。
两种说法:1.权限设置有问题;2.可能是erlang版本和rabbitmq版本不兼容。
权限问题网上描述的也太模糊了,查一下电脑上几个用户,不多的话一个个试好了。
lucky!只有两个。一个个试,好吧,结果还是一样的,木有用。
那就是版本兼容问题了。
查看erlang版本是21,rabbitmq版本是3.6.12,官方3.6.12的erlang版本用的是20.1.x,版本不兼容!
仔细看一下报错:
Stack trace:
[{gen,do_for_proc,2,[{file,"gen.erl"},{line,228}]},
{gen_event,rpc,2,[{file,"gen_event.erl"},{line,239}]},
{rabbit,ensure_working_log_handlers,0,
[{file,"src/rabbit.erl"},{line,788}]},
{rabbit,'-boot/0-fun-0-',0,[{file,"src/rabbit.erl"},{line,268}]},
{rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,403}]},
{init,start_em,1,[]},
{init,do_boot,3,[]}]
好吧,如果去看源码,那几行估计就是不同版本的有区别的地方之一吧。
卸载brew unisatll rabbitmq,然后重新安装!
安装完之后,进入安装目录,启动!
Starting broker...
OK了,嗯,重装大法好!
提示:千万不要盲目重装,因为有时候只是其他前置需求软件不存在导致的,重装不能解决一切,一步一步走,先从错误提示开始!