3

I'm wondering how PATH variable is set by Mac Installers on Mac OSX.

For example:

Look at golang Mac OSX Installer. From the link https://golang.org/doc/install:

Mac OS X package installer

Download the package file, open it, and follow the prompts to install the Go tools. The package installs the Go distribution to /usr/local/go.

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.

So, the I can see /usr/local/go/bin in $PATH but it's not being set in .profile, .bashrc or launchd.conf.

Can anybody please help me to understand?

Humble Learner
  • 791
  • 12
  • 26

1 Answers1

6

There are a couple methods of setting environment variables in Mac OS X (lots of discussion here). In the case the Go package, it is adding a file in /etc/paths.d named go that contains /usr/local/go/bin. Here's an answer to another question explaining that a utility called path_helper is being launched and it's inspecting the /etc/paths.d directory.

You can verify this yourself by using an application called Pacifist to inspect the contents of the Go package and looking at the files it's installing.

Community
  • 1
  • 1
Linville
  • 3,613
  • 1
  • 27
  • 41