Mac Homebrew 使用疑惑

2018-10-22 16:13:38 +08:00
 trueGate

最近在使用 brew install rabbitmq 时,遇到了安装路径问题。brew 默认安装在 /usr/local/Cellar/rabbitmq/x.x.x/ 下,无法使用命令行 rabbitmq-server 直接运行。

目前考虑有两种方案: 1、软连接,将 /usr/local/Cellar/rabbitmq/x.x.x/ link 到环境变量中的有效路径,例如 /usr/local/sbin/ 2、将 /usr/local/Cellar/rabbitmq/x.x.x/ 添加到环境变量

出于对环境变量的洁癖,倾向方案一。但是问题来了,


在使用 brew link rabbitmq 时,遇到了权限问题:

$ brew link rabbitmq
Linking /usr/local/Cellar/rabbitmq/3.7.8...
Error: Could not symlink sbin/cuttlefish
/usr/local/sbin is not writable.
$ sudo brew link rabbitmq
Password:
Error: Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.

求问~~~ brew link 具体该怎么使用呢?或者是不是安装的姿势不太对 T.T

3553 次点击
所在节点    macOS
16 条回复
ZavierXu
2018-10-22 16:19:51 +08:00
brew doctor 了没有
ech0x
2018-10-22 16:20:35 +08:00
homebrew 好像在 /usr/local/portal 下有做一个最新版的软连接的,具体路径记不清了,你可以找一下。
lululau
2018-10-22 16:22:34 +08:00
用 hombrew services: https://github.com/Homebrew/homebrew-services

brew services start rabbitmq

brew services list
trueGate
2018-10-22 16:26:50 +08:00
@ZavierXu
多谢老法师!找到原因了,原来是系统没有 /usr/local/sbin,导致 rabbitmq 的默认安装路径不存在
liuzelei
2018-10-22 16:27:24 +08:00
在 mac 上如果不想把自己的系统搞乱,建议这些都全部用 docker 吧。
hguandl
2018-10-22 16:28:41 +08:00
我这里无法复现这个情况,推测应该是你那边的设置有些问题。

Homebrew 的思想是将 /usr/local 内容下的权限设置为用户的。所以会在安装过程中有一次权限请求,就是用来设置文件夹的所有者。你这种问题应该是 /usr/local/sbin 的权限不是自己的,可以检查一下:

/usr/local/bin
/usr/local/sbin
/usr/local/Cellar
/usr/local/Caskroom
/usr/local/etc
/usr/local/var
/usr/local/include
/usr/local/lib
/usr/local/share
/usr/local/opt

以上这些文件夹不出意外的话应该都是 你的用户名:admin 这个所有者权限。如果是其他的,比如 root:wheel 的话需要修改一下。或者使用 brew doctor 看看有没有什么提示。
trueGate
2018-10-22 16:29:17 +08:00
@lululau 嗯嗯,这个方法是很实用,可以在 brew 内部实现管理。但是有些应用还是依赖 rabbitmq-server,手动启还是不太方便
yikyo
2018-10-22 16:33:26 +08:00
你肯定没有洁癖,有洁癖的都用 docker.
trueGate
2018-10-22 16:33:57 +08:00
@hguandl 是的,找到出问题的原因,是我的文件系统创建的不完善。手动创建再重新安装就好了,感谢关注~
trueGate
2018-10-22 16:34:24 +08:00
@ech0x 找到原因了,感谢关注
trueGate
2018-10-22 16:35:08 +08:00
@yikyo 洁癖 2.0,该打怪升级了。学习学习
trueGate
2018-10-22 16:36:33 +08:00
@liuzelei docker 还是有点陌生,去研究下`
ZavierXu
2018-10-22 16:36:40 +08:00
@trueGate 客气客气,一般来说这种情况出现在重装系统 /Time Machine 恢复之后……(来自一个经常重装系统的人的回复
trueGate
2018-10-22 16:38:05 +08:00
@ZavierXu 还真是...换了电脑直接迁移的。 一直都没留意这块,受教啊!
bjfane
2018-10-22 20:49:50 +08:00
bife git:(dev) >brew info rabbitmq
===============================
rabbitmq: stable 3.7.8
Messaging broker
https://www.rabbitmq.com
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/rabbitmq.rb
==> Dependencies
Required: erlang ✘
==> Caveats
Management Plugin enabled by default at http://localhost:15672

To have launchd start rabbitmq now and restart at login:
brew services start rabbitmq
Or, if you don't want/need a background service you can just run:
rabbitmq-server
==> Analytics
install: 12,853 (30 days), 35,628 (90 days), 140,857 (365 days)
install_on_request: 11,741 (30 days), 32,646 (90 days), 121,922 (365 days)
build_error: 0 (30 days)

有说按什么方式启动,我也是经常忘了 怎么启动,就 info 一下。mysql、mongo 什么的
inoki
2018-10-23 19:51:37 +08:00
sbin 是 super user 的 binary 路径吧我记得。
usr local bin 应该是自己的吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/499897

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX