Can't start launchd service on brew install
spowelljr opened this issue · 2 comments
spowelljr commented
Reproduction:
Install socket_vmnet via brew
$ brew install socket_vmnet
Running `brew update --auto-update`...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Downloading https://ghcr.io/v2/homebrew/core/socket_vmnet/manifests/1.1.0
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/socket_vmnet/blobs/sha256:8e309781893e7dd83edadee99ab08ec8295917f3e687f9c3949c95129be9ef03
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:8e309781893e7dd83edadee99ab08ec8295917f3e687f9c3949c95129be9ef03?se=2022-12-05T21%3A05%3A00Z&sig=YQb2gAlUoTEffFyUVsXM5dPvxxBb3PjxW%2FrOoWUzmEw%3D&sp=r&spr=https&sr=b&sv=2019-12-12
######################################################################## 100.0%
==> Pouring socket_vmnet--1.1.0.arm64_ventura.bottle.tar.gz
==> Caveats
To install an optional launchd service, run the following command (sudo is necessary):
sudo brew services start socket_vmnet
socket_vmnet is keg-only, which means it was not symlinked into /opt/homebrew,
because /opt/homebrew/bin is often writable by a non-admin user.
If you need to have socket_vmnet first in your PATH, run:
echo 'export PATH="/opt/homebrew/opt/socket_vmnet/bin:$PATH"' >> /Users/powellsteven/.bash_profile
To restart socket_vmnet after an upgrade:
brew services restart socket_vmnet
Or, if you don't want/need a background service you can just run:
/opt/homebrew/opt/socket_vmnet/bin/socket_vmnet --vmnet-gateway=192.168.105.1 /opt/homebrew/var/run/socket_vmnet
==> Summary
🍺 /opt/homebrew/Cellar/socket_vmnet/1.1.0: 14 files, 112.9KB
==> Running `brew cleanup socket_vmnet`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Using the info, try starting the launchd service
$ sudo brew services start socket_vmnet
sudo: brew: command not found
brew is not available from root by default, trying again by specifying full path
$ sudo /opt/homebrew/bin/brew services start socket_vmnet
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.
Error: Failure while executing; `/opt/homebrew/bin/brew tap homebrew/services` exited with 1.
AkihiroSuda commented
Works for me
$ sudo brew services start socket_vmnet
Password:
Warning: Taking root:admin ownership of some socket_vmnet paths:
/usr/local/Cellar/socket_vmnet/1.1.0/bin
/usr/local/Cellar/socket_vmnet/1.1.0/bin/socket_vmnet
/usr/local/opt/socket_vmnet
/usr/local/opt/socket_vmnet/bin
This will require manual removal of these paths using `sudo rm` on
brew upgrade/reinstall/uninstall.
Warning: socket_vmnet must be run as non-root to start at user login!
==> Successfully started `socket_vmnet` (label: homebrew.mxcl.socket_vmnet)
Homebrew 3.6.14-6-gb8a505d , on macOS 13 Intel.
Is something different on ARM?
https://github.com/Homebrew/brew/blob/3.6.14/Library/Homebrew/brew.sh#L178-L195
AkihiroSuda commented
Looks like you have to run brew tap homebrew/services
and then sudo /opt/homebrew/bin/brew services start socket_vmnet
https://thoughtbot.com/blog/starting-and-stopping-background-services-with-homebrew