3 ms·
> Because installing (frivolous) user utilities should not have the ability to write to critical system files, by default at least. This is why there was a thi
by pritambaral 9y ago
> Because installing (frivolous) user utilities should not have the ability to write to critical system files, by default at least.
This is why there was a thing like `$PREFIX`. I have a ~/.local folder, the user-specific equivalent of the system /usr/ folder. All the frivolous software I install for my-unix-account local needs go in there and my OS remains pristine. I currently have my $GOPATH, user npm packages, and even some .desktop applications in there.
- Myrmornis 9y agoAre you referring to the `--prefix` option that `configure` takes in the traditional unix `configure && make install` process? (EDIT: I didn't mean to sound like I was correcting you. In fact I'm sure you know this stuff better than me. I now see that there's both a commonly-honored environment variable "PREFIX" and the command-line option to configure I mentioned, and I'm going to claim that the fact that there's two degrees of freedom and I'd forgotten about one of them kind of backs up my points!) If so, while I agree that that serves the purpose and avoids use of `sudo`, I would think that the following two drawbacks are severe: 1. It's a lot (really, too much?) to ask of the community of laptop users who wish to use command line utilities -- we don't want to make using the command line the province of real unix experts only; everyone is a beginner at some point after all. 2. Not all software will offer this option.
- pritambaral 9y agoThe reasons you supply are partly why I said "there was a thing". It isn't as much of a thing in these `curl ... | sh` and `docker run` and Electron apps days. But the first reason you cited can be handled gracefully by package managers at least (including Homebrew), if only they took the effort.
- Myrmornis 9y agoBut homebrew does use `make install` in many, many formulae doesn't it? homebrew-core/Formula$ grep 'system.*make.*install' * | wc -l 2774 I don't think I quite understand the complaints that the unix traditionalists have against homebrew. I don't mean to imply that there are no valid ones; I'd like to understand.
- pritambaral 9y agoPreface: I don't argue either in favour or against homebrew here. From the limited number of times I had to set up homebrew, I noticed the official method tells the user to take over /usr/local/ (via a `sudo chown ...`). They could have made the process use ~/.local, but don't. And because of the official position on using /usr/local/, lots of homebrew formulae assume and depend on /usr/local/. Without taking the side of the "unix traditionalists" you speak of, I can understand their point. Homebrew doesn't have to take over a system location for user-account specific software, but it does.
- deleted 9y ago[deleted]