Why homebrew




















Homebrew is a package manager but if I'm using something like Node's npm, is Homebrew used for the same kind of deal but for Ruby? I am kinda vague on all this. You can do a whole lot of OS X without needing a third-party package manager such as Homebrew.

But the moment you find yourself installing software from third-party web sites, you should probably consider getting yourself organized. The combination of Homebrew and Cask is useful for keeping track of what software you have installed and where it came from. Plus, it's a lot easier than doing everything by hand. Even if you are going to do purely Node. When that happens, you will need to install the xCode developer tools not sure if xCode itself is required?

This alone should take you quite far. It might, in fact, be enough. Homebrew is a package manager for OS X as a whole, not just for a particular programming language. An example would be Node. Apple provides some of these, but they tend to get outdated very quickly - Homebrew helps you stay up to date.

Stack Overflow for Teams — Collaborate and share knowledge with a private group. It is also a whole C program and Homebrew is just ruby scripts. And that's a problem?

I would argue that it's a feature. Due to Homebrew being written in Ruby, it has easily allowed over 4, contributors [1]. Recipes are easy to read and inspect for verification purposes.

What is the advantage of C over Ruby? Homebrew now has prepackaged binaries "bottles" for most of the packages that take awhile to build, which has really helped the speed thing. So the opaque pre-compiled blob that installs other pre-compiled blobs is somehow better than a collection of scripts that lets you build from source? I don't think so As an update is something that is done occasionally and in the background "slow" is not exactly a reason to change.

So the opaque pre-compiled blob that installs other pre-compiled blobs I found it's not worth trying out this process every time, so now on the old machine I install everything with the official installer. Other answers here have addressed various specifics. I'll restrict my answer to this question, make some recommendations, and briefly explain them. I think most users of the various Linux and BSD distributions have come to appreciate the importance of a good package manager.

I use mostly Debian-based distros, and regard the package manager aptitude to be as essential as the kernel itself. By that I mean if the package manager didn't exist, or if it was unreliable and prone to error, then I would not be a Linux user. Apple has chosen not to provide a package manager per se. Apple provides a selection of open-source tools - they are bundled with the macOS distribution, and updated at Apple's discretion.

But there is a huge world of open-source software available ; much of it is excellent quality and offers substantial advantages over closed-source software. For anything more than packages, I feel most users are best served by using a package manager. Some packages support stand-alone installation very well on macOS. Some even support updates, and a few support removal also.

But these will inevitably be different, package-unique procedures, and maintenance becomes a time-consuming chore. Some will disagree with my designation of git as a package manager. I won't argue that in a strict sense git is version control software , but I feel that when git is coupled with huge collections of free and open open source repositories , the differences seem to fade into obscure jargon.

I tried Homebrew several years ago, and most of my opinions were formed by that experience. Simply put, despite the fact that I had some experience with package managers when I first tried Homebrew , I found it to be awkward and unreliable.

But some love it, and for those people, I'll only say, "Party on, Garth"! Shortly afterward, I decide to give MacPorts a go, and I've been using it ever since. I think this is mostly due to the fact that it strikes me as rational, straightforward and easy-to-use. It offers a lot of depth for unusual situations that come up from time-to-time, but becoming productive with it requires only a few minutes and a handful of commands; proficiency can be achieved in a few hours. In summary, MacPorts is my unreserved recommendation for a pure package manager.

A few words about git , and why I think it's a useful "package manager". As a version control tool, git is a complex piece of software that requires much effort to master. You can get a sense for this by perusing the many man pages for git , and its various subsidiaries. However, using it to "install" and update packages hosted on a git repository GitHub for example requires only a few commands. I feel it's primarily useful in two situations:. Lots of eyeballs too. Now, most of them probably do a very good job nevertheless, but you have to depend on all of them getting it right, instead of just , macports and homebrew.

Once compromised, it could stay so for a while before people realize about it. You can also quickly run some form of port outdated report to catch what needs patching. At the end of the day, every time you install something you are taking some level of risk. This command executes the installer script provided by the Homebrew team.

If you prefer to be more cautious, you can curl the file, then run it manually after reviewing it:. Homebrew boasts that it "installs the stuff you need that Apple or your Linux system didn't" install by default.

Installation happens with the brew command, which gives us access to thousands of command-line utilities, but not more complex applications. For us nerds, the utilities that fit into "the stuff you need" category include the handy tree command that shows directory structures and pyenv , which I use to manage multiple versions of Python.

You can see all the "formulae" that are available from Homebrew using the search command, and I use the wc command shows how many formulae there are:. There are over 5, formulae, which is an incredible amount of software. So it's best to have an idea of what you want before searching that huge list. Thankfully, it is easy enough to browse.

Formulae are codified and centralized into the core repositories that are split by operating system Mac in Homebrew Core and Linux in Linux Core. They are also available through the Homebrew API and listed on the website. Word of mouth is another great method to find utilitites. With that in mind, here are some of my favorites if you're looking for inspiration:. As an example, take a look at tldr pages , a user-friendly alternative to scrolling through an application's man pages.

You can confirm it's available by running search again:. Homebrew, thankfully, prebuilds the binaries, so you don't have to build from source code on your local machine. That saves a lot of time and CPU fan noise. Another thing I appreciate about Homebrew is that you can appreciate this feature without understanding exactly what it means.

But if you're into it, it can be fun to look at the complexity. Run info on tldr , and you can see all the dependency management, the source code, and even public analytics:. Finally, as in any good package manager, Homebrew's brew uninstall is available to quickly clean and remove unused utilities. Command-line utilities are a blast, but what about full-blown applications?

Homebrew keeps its standard commands simple and installs only single-file applications through its default brew command-line interface. Applications don't fit that structure.



0コメント

  • 1000 / 1000