It is the case in Linux. I think (but I’m not totally sure) that Nathan is using Linux. (It’s pretty common in blogs to describe one’s own situation without explicitly noting that it may not be universal… which is confusing, but it’s really hard to cover all the bases in every post.)
When I build from source, the binaries go into /usr/local/bin. This is one of the $PATH entries, so, Linux finds the binary quickly, without more configuration. (In general, apps will be installed from packages – where the package manager distributes the files into the many standard locations – or build from source, where the build script does that. So the SC script puts the binaries into the same system executable location with a lot of other app binaries, and make uninstall
knows which files to delete later.)
Mac is a bit of an odd duck because the GUI shell pretty much ignores the posix-y style filesystem organization. Dropping the app bundle into /Applications does nothing to tell the command shell about this executable. That means sclang
at the command line won’t work automatically. The UNIX command shell looks only at the specific directories listed in the path. There’s no recursive search. The default $PATH doesn’t know which app bundles you’re going to put in later, and dropping in an app bundle doesn’t update $PATH automatically.
So you’d have to locate sclang under SuperCollider.app/ and add that directory to $PATH.
I have no idea whether app translocation would interfere with that.
I’d also be curious to see an example of how to use the ‘which’ command.
On my Linux system, I have sclang installed by our build scripts, and also VCV Rack (which doesn’t install to a standard location):
$ which sclang
/usr/local/bin/sclang
$ which Rack
$ <<-- no output
The absence of output means that Rack was not found in any of the $PATH directories. (To launch Rack, then, I have to cd to the binary’s location. I manually added an app menu entry for Rack, with working directory = /home/xxx/share/Rack116 which contains the executable, and command = ./Rack
. When I have SC launch Rack, I have to do cd /home/xxx/share/Rack116 && ./Rack
. Or I could update the bash_profile.)
If they don’t exist, you can create one of them as a text file by hand. (I’m not sure which one is better for Mac. On my Linux system, I have a ~/.bashrc.)
Hope that helps…
hjh