2

I've identified several changes to the PATH variable in Bash that aren't listed in e.g. /etc/profile, ~/.profile, .bash_profile, ~/.bashrc.

The following snippet from the Go installation page mentions that packages may change the environment.

How can I see changes to the environment made by packages?

https://golang.org/doc/install

The package should put the /usr/local/go/bin directory in your PATH environment variable. You may need to restart any open Terminal sessions for the change to take effect.

  • There are various places where such changes can occur. As you seem to focus on Go installation right now, I've changed the question title accordingly. – nohillside Aug 4 at 12:41
5

The /etc/profile file, which Bash executes for login shells, includes the following content:

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
    eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
    [ -r /etc/bashrc ] && . /etc/bashrc
fi

It's the path_helper program that sets up the PATH environment variable.

man path_helper:

The path_helper utility reads the contents of the files in the directories /etc/paths.d and /etc/manpaths.d and appends their contents to the PATH and MANPATH environment variables respectively. ...

In particular, the Go installer creates a file called go in /etc/paths.d with the following content:

cat /etc/paths.d/go 
/usr/local/go/bin

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .