/usr/local/Frameworks vs /Library/Frameworks #138
Replies: 6 comments 7 replies
-
Because we're not allowed to write there without using sudo |
Beta Was this translation helpful? Give feedback.
-
I kind of expected that answer, but casks write to /Applications, don't them? Is it different from writing to /Library? Sorry I'm new to MacOS and, coming from Linux, I'm still trying to make sense of the somewhat split personality of the file system. |
Beta Was this translation helpful? Give feedback.
-
Ok, I see, makes sense. Then wouldn't it be better to install python as a cask from their official package? There are lots of posts around the web explaining how to completely remove python (Applications, Frameworks, and the symlinks with brew cleanup). That could be automated using cask (OTOH they should provide a proper uninstaller...). |
Beta Was this translation helpful? Give feedback.
-
Maybe because it's the official installer but fundamentally because it tries harder to comply with both worlds:
I find this more coherent than putting the framework into /usr/local, because that's the way it has been sanctioned. OTOH the official installer fails to provide a sane uninstall procedure, and here brew would shine. |
Beta Was this translation helpful? Give feedback.
-
Ok, thanks for the clarification, as I said before I'm very new to the platform and I had assumed there was some tooling, perhaps from Apple, that by default looked for frameworks in the documented location, so installing them to /usr/local would have required further tweaks from the user. |
Beta Was this translation helpful? Give feedback.
-
Perhaps I've not expressed it in the most clear way, sorry. What I meant was that maybe say you're building some MacOS app with some standard tooling (I apologise for the vagueness in this description) and this app requires to compile and link against python but, because of following recommendations, it would search for a python framework in /Library/Frameworks, so you would have to tweak its build recipe to point to the atypical /usr/local location. For the case of a *nix build, of course, everything is usually setup to search in /usr/local, so it's fine, my concern is with some hypothetic appleish build. Again, I don't know if this story is realistic, but it's a reasonable inference I'm doing from reading Apple documentation of frameworks. |
Beta Was this translation helpful? Give feedback.
-
I've installed python using brew and I see the framework is symlinked from the Cellar to /usr/local/Frameworks instead of /Library/Frameworks.
This confuses me because all documentation regarding frameworks I've found suggest to use one of the four Library folders (user, local, system, network) and, in this case, /Library/Frameworks (that is the local Library) seems the most appropriate one and, indeed, is what the official python installer for MacOS uses.
I understand the usage of the standard unix directory structure for *nix packages, but why also for frameworks whose location is well defined and documented by Apple?
Beta Was this translation helpful? Give feedback.
All reactions