Skip to content

Allow for non-admin installs where brew can only be run by another user #13

@rcarmo

Description

@rcarmo

The extension just tried to self-upgrade, and failed because brew upgrade azure-functions-core-tools gave the following output:

Updating Script templates for runtime "~2" to version "2.11.1"...
Successfully updated templates.
Updating .NET templates for runtime "~2" to version "2.11.1"...
Successfully updated templates.
Running command: "brew upgrade azure-functions-core-tools"...
Error: /usr/local/Cellar is not writable. You should change the
ownership and permissions of /usr/local/Cellar back to your
user account:
  sudo chown -R $(whoami) /usr/local/Cellar
Error: The following directories are not writable by your user:
/usr/local/Cellar
/usr/local/Frameworks
/usr/local/Homebrew
/usr/local/bin
/usr/local/etc/bash_completion.d
/usr/local/include
/usr/local/lib/pkgconfig
/usr/local/lib/python3.7/site-packages
/usr/local/opt
/usr/local/share/aclocal
/usr/local/share/doc
/usr/local/share/locale
/usr/local/share/man/man1
/usr/local/share/man/man2
/usr/local/share/man/man3
/usr/local/share/man/man4
/usr/local/share/man/man5
/usr/local/share/man/man6
/usr/local/share/man/man7
/usr/local/share/man/man8
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
/usr/local/var/homebrew/linked
/usr/local/var/homebrew/locks
/usr/local/var/log

You should change the ownership of these directories to your user.
  sudo chown -R $(whoami) /usr/local/Cellar /usr/local/Frameworks /usr/local/Homebrew /usr/local/bin /usr/local/etc/bash_completion.d /usr/local/include /usr/local/lib/pkgconfig /usr/local/lib/python3.7/site-packages /usr/local/opt /usr/local/share/aclocal /usr/local/share/doc /usr/local/share/locale /usr/local/share/man/man1 /usr/local/share/man/man2 /usr/local/share/man/man3 /usr/local/share/man/man4 /usr/local/share/man/man5 /usr/local/share/man/man6 /usr/local/share/man/man7 /usr/local/share/man/man8 /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew/linked /usr/local/var/homebrew/locks /usr/local/var/log

This is normal in my case because I never run any brew command under my own user account (I only run non-App Store installers and brew under an admin account), but needs to be handled correctly, because even though it is (sadly) common practice for Mac users to run everything under admin accounts, using that as an install/upgrade assumption will break things for those of us who are more careful about security.

The ask here is that the non-admin scenario be taken into account, and (hopefully) the way it's handled become a standard practice for this and other extensions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions