11 ms·
Homebrew 1.2.0
- xz0r 9y agoThis is so nice!
- caiob 9y agoHuge respect for the Homebrew devs and community. They make my life so much easier every day.
- rhizome 9y agoImagine how good it would be if it was written by a person who could get a job at Google! https://news.ycombinator.com/item?id=9695102 https://news.ycombinator.com/item?id=9695102
- gumby 9y agoI find Homebrew handy but could never keep straight all the jargon of taps, bottles, flasks, casks, what have you.
- xz0r 9y agoIts explained at the very beginning of README :) https://github.com/Homebrew/brew/blob/master/docs/Formula-Cookbook.md#homebrew-terminology https://github.com/Homebrew/brew/blob/master/docs/Formula-Co...
- gumby 9y agoIndeed, but when I read that a Keg is an "installation prefix" and a Bottle is a "Pre-built Keg" I give up.
- woodruffw 9y agoA "keg" refers to the whole directory structure associated with an installation. A "bottle" is just a tarball containing that structure from a build on the CI, rather than a from-source installation.
- mmjaa 9y agoStill doesn't make any sense whatsoever. You had me at directory structure. Then you lost me at "bottle", had me at tarball again, but by then I was exhausted and don't care any more. Terminology is important because it has application for the end user. I don't get any use out of tap/keg/cask.
- woodruffw 9y agoIt makes sense but, like you said, you're exhausted and don't care. Bottles (binary installations) are an addition to Homebrew; it was originally a source-only "package" (really just Ruby scripts that downloaded tarballs and ran `make`) manager. Terminology is important. However, the standard terminology of package management does not always map cleanly to Homebrew's behavior. If the options are inventing our own terms or using preexisting ones unlike everybody else, I'll always go with the former. Edit: I'm mostly thinking of things like "keg" and "bottle"; "tap" could indeed be replaced with "third party/external repository", and a "formula" could be called a "package description" or something equally generic.
- 9y ago
- to3m 9y agoI still use MacPorts, because I find cutesy metaphors offputting.
- unit91 9y agoI've never worried about it. I just brew install thing-i-want
- thatswrong0 9y agoSure, but the moment you have to do anything slightly non-standard you get stuck in jargon land
- bdcravens 9y agoWalk in any Rails developer office and look at the words written on the whiteboard - you never know if it's a list of gems or a they're having a schizophrenic episode
- santaclaus 9y agoIt isn't particularly friendly to non-native English speakers... stick with the standard jargon please!
- zumu 9y agoThere seems to be sizable chunk of people who agree (myself included). At this juncture (1.2 and rather successful) is there any feasible way for the maintainers to switch the nomenclature to something a tad more literal/expressive?
- mikemcquaid 9y agoI agree that the jargon needs improved. The hard balance is figuring out natural names for things that don't make things harder for existing users to understand.
- gurkendoktor 9y agoThis seems to be a common problem with Ruby projects. fastlane.tools is incredibly popular for automating iOS development. "gym" is the subcommand to build an app, "scan" runs tests, "sigh" fixes code-signing etc.
- apostacy 9y agoI love brew! But just be careful because it has a tendency to be unhelpful with its updates. Same thing with cask. That's the way they do things, and I understand that it makes sense for them. For example, I wasn't on El Captain yet, so I had to checkout an older version of openemu.rb. It seems like this would be something that could be automated, and if I had time, I might. Inspired by Tigerbrew[1], I was actually thinking of making some sort of "LTS" tap, which has stability and predictability. [1] https://github.com/mistydemeo/tigerbrew https://github.com/mistydemeo/tigerbrew
- mikemcquaid 9y agoAn LTS tap is a great idea. We can't support older versions of some software, unfortunately, just because we're limited in resources but everything should be there for you to be able to do so yourself.
- joshmanders 9y agoCongratulations homebrew contributors! First thing I install on any Mac. <3
- TheAceOfHearts 9y agoI've been using Homebrew for a few years now, but I've gotta admit that recently I've been intrigued by MacPorts. Can anyone that has tried both extensively share their thoughts, and possibly explain why they're using one or the other? I read up a few comments online from having googled around, but I'd love something more recent. One of my complaints with Homebrew (and most system package managers) is that it treats all dependencies as equal. If I install X, which depends on Y and Z... I'd expect Y and Z to be removed when uninstalling X. If anyone else is frustrated by this, I'd suggest checking out homebrew-bundle [0]. The idea is simple: you create a Brewfile and you use that to track dependencies. Instead of installing stuff from the CLI, you add entries to your Brewfile and run "brew bundle --global". Sadly it won't do any automatic cleanups, so you have to run "brew bundle cleanup --global" to get a list of extraneous packages and remove em manually. Another obvious benefit to using a text file is that you can annotate it with reminders. "What did I install this foobar tool for?" I think migrating towards a shell environment which gets configured using idempotent scripts can help reduce bugs and lower the barrier of entry to people less familiar with the ecosystem, as well as make it easier to get your own system up and running. In the last few weeks I started toying around with nix [1], which seems to promise that... Although I'm still finding my way through their ecosystem. I'd like to think I'm a fairly pragmatic user, so I'm willing to accept some hacks here and there. A few days back I put up a repo [2] to show what my macOS + fish shell setup looks like. It won't track configs to clean-up garbage or anything fancy like that, so if you make any change you might need to clean up manually. But it should make bootstrapping a new system a bit easier, and it encourages you to configure all universal variable definitions in a single place so you can add notes for why you're doing whatever it is you're doing. One of the biggest benefits of maintaining an idempotent fish config is that it has great performance. Since fish shell persists environment values in a single file and it lazy-loads function definitions, starting a new session happens almost instantly. [0] https://github.com/Homebrew/homebrew-bundle https://github.com/Homebrew/homebrew-bundle [1] https://nixos.org/nix/ https://nixos.org/nix/ [2] https://github.com/cesarandreu/dotfiles https://github.com/cesarandreu/dotfiles
- eslaught 9y agoI switched away from MacPorts because packages I cared about were consistently out of date. For example, the MacPorts package for Pandoc is 3 year old [1][2]. That's a cherry-picked example, of course, but was representative of my experience at the time, and appears to still be true. In contrast, the packages I've found on Homebrew have generally been up-to-date or close to it. Your milage will of course vary, and I suspect that more popular packages are probably updated much more aggressively. [1]: https://www.macports.org/ports.php?by=name&substr=pandoc https://www.macports.org/ports.php?by=name&substr=pandoc [2]: http://pandoc.org/releases.html#pandoc-1.12.4.2-14-may-2014 http://pandoc.org/releases.html#pandoc-1.12.4.2-14-may-2014
- justinmk 9y agoHomebrew also just started publishing their stats: https://brew.sh/analytics/ https://brew.sh/analytics/ Neovim is about as popular as emacs now (backhanded compliment?). We just released Neovim 0.2 (now supports Windows) a few minutes ago, so it's funny to see Homebrew and LuaJit releases on HN now.
- coolsunglasses 9y ago>Neovim is about as popular as emacs now (backhanded compliment?). I'm primarily an Emacs user. The homebrew provided one kinda annoying. https://emacsformacosx.com/ https://emacsformacosx.com/ is better. If you serve bad ice cream but decent hot dogs and your hot dog sales numbers are higher than ice cream's, you can't generalize that to "people like hot dogs better than ice cream."
- justinmk 9y agoSure. Let me know if you find a reliable source of data. Our ice cream is great though.
- Watabou 9y agoI'm curious. The homebrew formula seems to just download emacs from the main GNU repository. So what makes emacsformacosx better? The website doesn't seem to explain this.
- grawlinson 9y agoIf I remember correctly, one of the developers of GNU Emacs removed Mac-specific functionality as GNU doesn't want these type of patches in the software that they release as it goes against their core ethos.
- sigjuice 9y agoIs there more information on this? Perhaps a mailing list thread or a Git commit?
- vr46 9y agoHomebrew + Strap is a winning combination. (https://github.com/MikeMcQuaid/strap https://github.com/MikeMcQuaid/strap) But I do think that the various taps and casks and sprockets and bits are potentially getting out of hand. Homebrew 2.0 - New API and usage pattern? However: cask outdated: Finally! Thank you! search: Updates most welcome. And plenty of others. Thanks for all. And one tip: export HOMEBREW_NO_AUTO_UPDATE=1 That saves me no end of time and irritation on slower networks. And on faster networks, too. I don't want auto-update on by default, but if it has to be, so be it. There's the fix.
- mikemcquaid 9y agoWe'll see what happens but if it's up to me Homebrew 2.0 with a new formula API will never happen. Yes, we have a bunch of cruft that we could kill but breaking all existing formulae (particularly 3rd-party formulae) seems like a price not work paying. Similarly, if you find auto-update helpful but it runs too often check out `export HOMEBREW_AUTO_UPDATE_SECS=300` which would bump the check time from 60 seconds to 5 minutes.
- deleted 9y ago[deleted]
- exabrial 9y agoAll I want from home brew is a dead simple way to install an older version of a package ;(
- ecnahc515 9y agoThis is actually something which just got some more support if I recall correctly.
- mikemcquaid 9y agoCorrect. We've made it easier to install some old versions of some packages (the most popular, basically). We don't have the resources to support all old versions of all software; many old versions simply won't build on modern versions of macOS/Xcode.
- tgamblin 9y agoIt's not yet the production tool that Homebrew is, but there is Spack: https://spack.io https://spack.io, which allows installing arbitrarily many builds of a package, with different versions, compilers, and options (disclaimer: I'm the original author).
- joshka 9y agohttp://docs.brew.sh/Versions.html http://docs.brew.sh/Versions.html
- z1mm32m4n 9y agoWhat's the status of the relationship between Homebrew and Linuxbrew? I remember a while ago there were discussions about making the two systems more compatible (or even merging them?). I'd love to see Homebrew take off on Linux.
- mikemcquaid 9y agoWe're gradually trying to merge the package manager parts of the two projects. Fun fact: Homebrew/brew is now used on Linux for uploading our binary packages, it's just missing various user experience tweaks that Linuxbrew provides. We'll get there!
- eddietejeda 9y agoI just saw that Homebrew has a Patreon page. I use brew everyday and want to make sure they stick around. I encourage others to support the project as well: https://www.patreon.com/homebrew https://www.patreon.com/homebrew
- Myrmornis 9y agoI've used homebrew for 6 years constantly and never had any problems with it. Excellent job authors and recipe-writing community!
- mmjaa 9y agoIf you upgrade, and care about these things, don't forget to check your analytics settings: brew analytics I had my analytics options turned off prior to the upgrade, and after the upgrade - without any warning/hints/messages/notifications - analytics was back on again. A bit underhanded, but I'm used to it by now.
- mikemcquaid 9y agoUnderhanded applies malice here rather than a bug. If you can reproduce this behaviour: please file an issue and I'll fix it. Also, as stated before (and the data dump hopefully shows): this is anonymous information that's useful for us and the community to be able to prioritise our limited resources.
- mmjaa 9y agoWell, I can't reproduce it now because I've already upgraded, and as far as I can tell there is no way to go backwards. Its underhanded in the sense that there is no message to the user that this is occurring. I do understand your need for this feedback, but I do not think that home-brew should change this setting once the user has set it to "do not report". This is key to the adoption of homebrew in some environments - for example, on some corporate networks having automatic exfiltration of analytical data, anonymous or otherwise, is instant disqualification for installation - and I've already had that conversation with our sysadmins, who notice these things almost immediately. If there is something I can do to help you debug this, let me know - otherwise I'll just happily continue upgrading home-brew as time goes by, and if I see something, I'll say something.
- mikemcquaid 9y ago> but I do not think that home-brew should change this setting once the user has set it to "do not report" We never intentionally do so and never have. Other than your comment we've not had any mention that this is the case. If you can find a way to reproduce this and file an issue, that'd be great and I'll do my best to fix it as soon as possible.
- nailer 9y agoI loved Homebrew - it was never quite as good as apt-get but it was a necessary sacrifice to run Unix on a popular desktop OS. However in 2017, if you're interested in a desktop OS with a bunch of Unix tools available, apt-get on Windows works perfectly.
- fishywang 9y agoI used to install everything on my Mac through Homebrew if it's available on Homebrew, but recently I found myself starting to moving away from Homebrew. First it's Go. Go installed from Homebrew lacks the source code, so I cannot ^] into a standard function's source code in vim-go. So I did `brew rm go` and installed the pkg version instead. Then the recent rust update had some problem building in Homebrew, and I discovered that the rustup tool is actually very nicely done, so I did `brew rm rust` and used rustup instead.