brew link php71: Could not symlink sbin/php-fpm
Asked Answered
G

2

30

I'm trying to install Laravel Valet, which requires php 7.1, but when i run brew install php71, I get the following error:

==> Pouring php71-7.1.10_21.high_sierra.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink sbin/php-fpm
/usr/local/sbin is not writable.

I get the same error when i run brew link php71. If i run php -v, I actually see that I'm currently running PHP 7.1.7.

But when I run valet install, I get:

  [DomainException]
  Unable to determine linked PHP.

I don't even have an sbin directory in /usr/local.

Any suggestions?

Gatha answered 16/10, 2017 at 19:58 Comment(4)
Just a guess but you probably need to temporarily disable "System Integrity Protection"... csrutil or somesuch.Dyspeptic
That did not make the sbin directory appear.Gatha
You should be able to make it yourself and try again mkdir /usr/local/sbinDyspeptic
Ok that worked! Not sure I feel good about it, but installing nonetheless.Gatha
D
125

I solved this problem by first creating the directory sbin:

sudo mkdir /usr/local/sbin

then if you are like me using macOS highSierra 10+ you need to run:

sudo chown -R $(whoami) $(brew --prefix)/sbin

after this

brew link php
Dichroite answered 24/11, 2017 at 0:25 Comment(4)
When you say "local dir" do you mean /usr/local/sbin?Vanna
This is one of the best explanations by far, thanks. @AndyIbanez it is, indeedQuiles
sudo mkdir /usr/local/sbin after sudo chown -R `whoami`:admin /usr/local/sbin and just brew link phpVenosity
This solution is worked for me. I was having a problem linking brew to php. The error was permission denied @ apply2files.Marquisette
G
0

Installing Laravel Valet, I had a similar issue with sbin not being writable. I had to make the directory, then utilized the solution included at this page. This finally allowed me the proper permissions to run a brew link command with a previously installed version of php 7.1.

Griddlecake answered 15/11, 2017 at 23:54 Comment(2)
Just for future reference, it's typically best practice to include the relevant part of the link in your answer just in case the page or question/answer are deleted. That way this question and your answer remain intact and valid.Anorthosite
I didn't get this.Spillman

© 2022 - 2024 — McMap. All rights reserved.