33 ms·
Homebrew 1.1.0
- vr46 10y agoAlways good news to see progress in Brewland. I personally do not like having it installed in /usr/local and have ensured it never is on my installation, but I've not had the chance to ever discuss with one of their team why they do it and what things may possibly explode by not having Brew installed to /usr/local
- dancek 10y agoAt least you're missing out on bottles (pre-built formulae) when your prefix is not /usr/local. EDIT: The rationale for using /usr/local has been explained in the FAQ: https://github.com/Homebrew/brew/blob/master/docs/FAQ.md#why-does-homebrew-prefer-i-install-to-usrlocal https://github.com/Homebrew/brew/blob/master/docs/FAQ.md#why...
- lloeki 10y agoThe points are opinionated (which is nice!) but a tad obsolete these days. 1. /usr/local/bin is already in your PATH But not /usr/local/sbin, which I had to add anyway. 2. Tons of build scripts break Not that much anymore, and gems can now be configured much more easily thanks to bundler. It's indeed a chore to tell configure to link against this or that, but most of the time you just build a package anyway (trivial with pacman/abs) for things to be managed. 3. no need to worry about messing up existing tools. But many third party tools install stuff in /usr/local. Also, SIP prevents any mess from happening to system stuff. Also, regarding sudo: But do you trust the multi-megabyte Makefile that Homebrew runs? No I don't, that's why make/make install gets run as a regular user but under fakeroot when packaging with, say, pacman/abs. Running the install phase as root allows the package manager to make things just work, such as installing OpenVPN (which depends on tuntaposx kexts), or install daemons under their own user and have them launched on system boot (not user login) by /Library/LaunchDaemons, or install Python under /Library/Frameworks (which ironically, brew builds as a framework but stores somewhere else). Again, those are tradeoffs and it's good that a stance is taken either way. Disclaimer: long-time tentative maintainer of Arch OS X
- keithly 10y agoWhere do you have it installed instead?
- jfb 10y ago$HOME/.homebrew
- mikemcquaid 10y agoWe put as much stuff as possible in `/usr/local/Homebrew` and `/usr/local/Cellar` now so hopefully that helps a bit. `/usr/local/bin` and friends are now mostly just symlinks. As mentioned in another comment, we've got some historical and current reasons for this location and build our binary packages (bottles) for there but you can install Homebrew in any location you want: https://github.com/Homebrew/brew/blob/master/docs/Installation.md#alternative-installs https://github.com/Homebrew/brew/blob/master/docs/Installati...
- vr46 10y agoBottles are good. But I've never hit those other problems, while I have hit issues through using /usr/local. Perhaps your release of Homebrew is better and safer than you expected? :D
- deleted 10y ago[deleted]
- bluejekyll 10y agoFor C libraries, having it in /usr/local is a benefit, since many already default to looking there, like cmake and autoconf scripts. Otherwise you have to fix that for many build scripts. While I share your misgivings about sticking stuff like this at the "system" level, I think they are right to do so in this case, for simplicities sake.
- snuxoll 10y ago/usr/local is explicitly for user/administrator managed software versus /usr being for system managed stuff, it's the correct location for this on any UNIX/POSIX-like system.
- bluejekyll 10y agoYes, sure, but there's always been a presumption in those definitions that you have a multi-user system. I would say that most people today operate their computers as single users. The multiuser paradigm, is more about differing security contexts. For me these locations are an artifact of multiuser systems days, it's generally more desirable for me to store most stuff in my home directory, such that when I upgrade computers, there's only one thing to copy over.
- vr46 10y agoHaving brew install to ~user would be grand, not just for portability, but also to isolate it across users.
- jfb 10y agoI do this. It's simple enough to install homebrew, to, say, $HOME/.homebrew. I haven't had any problems with this approach, but then, I don't use Ruby, and if I did I wouldn't use homebrew to manage it.
- samatman 10y agoExcept when you run Homebrew? I mean, I understood you, I'm fairly sure brew is the only Ruby command I run on a regular basis...
- deleted 10y ago[deleted]
- dancek 10y agoThere are lots of minor changes, but nothing major IMHO. The reason for bumping the minor version are a couple of breaking changes: - Disable SHA-1 checksum support in formulae - Disable running Homebrew as the root user (e.g. sudo brew) - Bottles with _or_later tags no longer use _or_later in their filenames so the existing bottle can be reused
- sugarraps 10y agoSide-topic: Shouldn't the breaking changes be enough reason to bump the version to 2.0?
- jzamora 10y agoYes, it should. But that scares people.
- yes_or_gnome 10y agoNot really. Signatures should be SHA256 already, you shouldn't be running as root (which as always been frowned upon).
- stephenr 10y ago> which as always been frowned upon Only in the Homebrew backwards-day world is having globally installed software not owned by root "frowned upon".
- matthewmacleod 10y agoHmmm. The UNIX education that's been hammered into me since childhood has said "If you can do it as not-root, don't do it as root".
- stephenr 10y agoWhat part of that UNIX education would cover putting user-owned binaries into /usr/local ?
- brunosutic 10y agoHomebrew maintainers are doing a fantastic job, made my life as a developer so much easier! I wanna use this opportunity to "publicly" thank them!
- pgtruesdell 10y agoAgreed. Homebrew has saved countless hours for developers, I can't believe how many hours I used to spend installing/updating different versions for testing. Now we just run (>brew switch package version) done.
- gaastonsr 10y agoWhoaaa didn't know that command. This could replace something like say nvm?
- rovr138 10y agoIt probably could. But I'm not sure if brew has everything or is updated faster than nvm.
- rangibaby 10y agoI don't think so. In my experience brew only has a very limited selection of versions of packages, which is understandable.
- mikemcquaid 10y agoIt maybe could be hacked into replacing it but I'd not recommend it. Better to use a dedicated tool that handles this stuff more cleanly e.g. nvm.
- dve 10y agoDitto. I install almost everything via brew and brew cask, and store the list of packages in git. It makes setting up a new machine a breeze. Thanks for all your hard work!
- 10y ago
- __pid_t 10y agoThis spyware is awesome! Love how they track everything you do with the use of environment variables.
- orf 10y agoCare to explain, or are you just rambling?
- teacup50 10y agoThey phone home (to Google Analytics) by default: https://github.com/Homebrew/brew/blob/master/docs/Analytics.md https://github.com/Homebrew/brew/blob/master/docs/Analytics.... It's pretty ridiculous. They're giving Google a map of everything individual users install. The only reason it's "anonymous" is that they're relying on Google to throw away personally identifying data before Homebrew sees it.
- orf 10y agooh, so a 'echo export HOMEBREW_NO_ANALYTICS=1 >> /etc/profile' is too difficult?
- teacup50 10y agoYes. Privacy should be the default.
- jessedhillon 10y agoDon't you think it's reasonable to make that sort of thing opt-in? This feels like the kind of presumption of a right to observe users that normally makes HN howl.
- sctb 10y agoWe've already asked you specifically not to do this, so we've banned the account.
- dudul 10y agoProbably stupid question but: how do you update your version?
- tremendo 10y agobrew update I just tried `brew upgrade` but that is upgrading not itself, but every package installed with it instead. >:-&
- keymone 10y ago`brew update` i imagine
- epmatsw 10y agoPretty sure just brew update.
- dudul 10y agoThat's what I thought, but after running that it doesn't log any sort of version update.
- yoz-y 10y agoI have done brew update and now brew --version reports: Homebrew 1.1.0 Homebrew/homebrew-core (git revision 375a8; last commit 2016-11-07) It did not mention updating to new version in the output of the update command though.
- AdamN 10y agoI'm going to ditto the positive comments. Kudos to the maintainers - not just for the package itself but for growing it. They successfully went from a hacky page with some scripts, to a big giant repository, to multiple repos, to a fully fledged mature best-practices package manager for macOS with all the bells and whistles. The sign of a great project isn't just that it does one thing well, but that it grows with the needs of the users and engages with them to constantly make something better without falling prey to bloat. And by that measure, Homebrew gets a gold star.
- stephenr 10y ago> best-practices Wat? How is fundamentally broken dependency management and forcing installed global binaries to be user-owned "best practices"?
- spatulon 10y agoCan you rephrase your objection in a less patronising and more constructive way?
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]
- mikemcquaid 10y agoThere was a similar comment by the same author on the top-voted comment on the last Homebrew release issue too: https://news.ycombinator.com/item?id=12548454 https://news.ycombinator.com/item?id=12548454
- stephenr 10y agoI asked a simple question, which is basically the same question I ask any time someone rushes to praise Homebrew like it's the best thing since installable software. The person I replied to stated that Homebrew follows best practices. I asked how that's possible when it has two major failings compared to pretty much every other package management tool. The Homebrew project has made it clear that they have no intention of fixing these two failings: - they've doubled-down on the "install binaries writable by users", and proclaim the issue of owning /usr/local "fixed". Now you just need to own /usr/local/bin, which basically means nothing has changed from a security point of view. - even when they finally admit the dependency management issue with binary packages, their solution is to just remove/disable some binary packages, forcing all users to compile them from source, and close the issue. The project has massive, glaring issues. Honestly, it's like a competition these days between NPM and Homebrew to see which can be a worse tool. At least NPM doesn't insist globally installed packages be user-writable.
- AdamN 10y agoJust a quick poll. Is anybody still using MacPorts or anything else? If so, why?
- zakk 10y agoMacPorts user here. It keeps ALL of its stuff in a single directory, and you just have to add it to the path. All package managers screw up from time to time, however MacPorts mistakes/inconsistencies are easily fixed, Homebrew has always been a pain in the ass for me. Also, no telemetry.
- TurboHaskal 10y agoI use pkgsrc due to portability and its clean separation between the base system and itself. https://pkgsrc.joyent.com/install-on-osx/ https://pkgsrc.joyent.com/install-on-osx/
- doublerebel 10y agoPkgsrc is fantastic and never gave me the lib conflict headaches I had with Homebrew. It's also really easy to contribute a package or fix. Plus I use pkgsrc in the cloud, so my dev machine works like my production machine. Can't say enough good things about pkgsrc.
- nrclark 10y agoI still use macports! As for why, there are a couple of reasons. First, Macports is often the fastest at updating their ports database after new versions of an upstream are released. Next, I also like that Macports doesn't really rely on anything OS-X specific except for Xcode. So I don't need to worry about crap like whether some Python package will work with Apple's Python distribution, or whether installing a new version of Openssh will break any core Mac OS components.
- mapgrep 10y ago> I don't need to worry about crap like whether some Python package will work with Apple's Python distribution This is exactly why I use Macports. Everything lives in a parallel universe of /opt. This means the first few packages you install take WAY long as they pull in a ton of dependencies; Homebrew avoids this by relying on stuff already installed by the system. But the up-front cost pays off in the long run (IMO) since you face fewer issues with breakage. OS X can update its userland tools and you generally don't care.
- Raphmedia 10y agoI have been very happy with Homebrew some far. What are some good windows alternative? Making the move from OSX to Windows in a week.
- _joel 10y agoTry https://chocolatey.org/ https://chocolatey.org/
- agscala 10y agoI switched to Windows last year for work after having worked primarily on Debian and OSX. Chocolatey is the best that I've found. I have run into issues though, so I can't say it's perfect or even close. It's not bad though. https://chocolatey.org/ https://chocolatey.org/ Also depending on the type of development you do, you may be able to use Bash On Windows and use ubuntu's apt for everything.
- catwell 10y agoIf you want Unix-like software, look at msys2 (http://msys2.github.io/ http://msys2.github.io/). Its package manager is Pacman (the same as Arch Linux). When I have to use a Windows machine I basically do everything in a msys2 terminal.
- My2ndAngelic 10y agoI would recommend chocolatey or Npackd, however chocolatey cannot detect what you have already installed on hard disk.
- nilkn 10y agoWindows 10 now has support for the Ubuntu subsystem. You have to flip some settings to enable it and install it, but it's very easy to setup and it creates a complete Linux shell within Windows, including full support for apt-get. I found the default terminal pretty lacking, but you can now use mintty as the terminal: https://github.com/mintty/wsltty https://github.com/mintty/wsltty With this, it's possibly a better Unix experience than macOS. I haven't used it enough to confidently make such a big statement, but it's worked very well so far in my trials.
- raimue 10y agoDisabling sha1 does not seem like a good decision. There are still enough upstream software projects that only publish their checksums as sha1 or even only md5. Keeping the original checksum allows quick comparison that a Formula is meant to use the same tarballs that were published by upstream. The problems of algorithms such as sha1 or md5 can be remedied by an additional strong checksum in the Formula. Checksum calculation is so fast that doing it twice will not matter.
- jonchang 10y agoHomebrew does, in fact, always use its own strong additional checksum (sha256) in the individual Formulae for all downloaded resources.
- raimue 10y agoThere is nothing wrong with calculating your own additional checksum, but as far as I can see, sha256 is now the only supported checksum type in Homebrew at all.
- SmokyBourbon 10y agoThat's cool but can it invert a binary tree on a whiteboard?
- floatrock 10y agoWill I need a dongle to use it on my latest macbook? And if so, has the price of it also been cut to a reasonable 19.95?
- yeswegetit33 10y agoYeah, OK. We get it. You don't like something quasi-related to this post. So you're going to get a jab in wherever you can. Good job on you. Enjoy the rest of your week.
- floatrock 10y agoSorry dude, thought this was a place for technology geeks to talk about the things we like and dislike about technology, perhaps even occasionally criticize the platforms we enjoy by making nonsensical hardware-vs-software comparisons that might be recognized by some as humor. The world needs to smile more.
- lisper 10y agoI have very mixed feelings about homebrew. When it works, it is awesome, but when it doesn't it can be a serious nightmare. In particular, homebrew refuses to run under sudo. Instead, to instal in /usr/local it wants me to recursively chown /usr/local to myself, which is a Really Bad Idea (tm). I have mostly stopped using it for this reason. I understand that running a program that runs third-party scripts under sudo is a security nightmare, but there has to be a better solution than globally chowning /usr/local. [UPDATE] Apparently, this is no longer the case. Good to know! [UPDATE2] Alas, the problem seems to not have been fully addressed. You still need to chown /usr/local/bin :-(
- mikemcquaid 10y ago> recursively chown /usr/local to myself As of 1.0.0: you don't need to do this any more and we don't ask you to.
- lisper 10y agoAh, that is very good to know! Thank you! I will take a fresh look at homebrew. :-)
- mikemcquaid 10y agoTo perhaps save you some effort: we still ask you to chown e.g. `/usr/local/bin` which may or may not make it unacceptable to you.
- lisper 10y agoThat's not quite as bad as all of /usr/local, but still not great. Why "e.g."? What else is there? And why not just use /usr/local/homebrew or even better, a path determined by an environment variable? I don't mind giving you a user-owned directory to install things in. I mind very much being required to change system default security settings.
- 10y ago
- rocky1138 10y agoI know they're different platforms, but how does this compare to apt? Which is better?
- orf 10y agoIn addition to this if anyone could compare this apple to that orange and tell me which is best I would be grateful
- mikemcquaid 10y agoHomebrew maintainer view: apt is better.
- anon789na 10y agoIt's upsetting that Apple doesn't care about developers. Why is there no Apple maintained package management system? This results in having to turn to solutions like Homebrew, which -- while a valiant effort -- is completely insufficient for distributing state across multiple machines.
- truebosko 10y agoI absolutely adore Homebrew and can't thank the package maintainers enough. I think of all the times I battled with compiling some package, or installing it via MacPorts only to struggle updating it. Never with Homebrew. So much <3
- accraze 10y agoHomebrew is what keeps me working on a Mac, plus now that Docker for Mac is out....
- AtticusTheGreat 10y agoThere is definitely a lot to like about Homebrew (it's better than macports), but like others have said, when stuff goes wrong you can end up spending an entire day googling, only to end up going down a rabbit hole of archaic and often obsolete commands that may or may not work. Once you get your environment set up it's fine, but try updating to the most recent Mac OS version with a ruby environment and you'll find pretty much all your gemsets broken in one way or another (if you have anything that needs native building). I might just be bitter, though, as I spent most of a day working through this exact situation just last week.
- AtticusTheGreat 10y agoThere is definitely a lot to like about Homebrew (it's better than macports), but like others have said, when stuff goes wrong you can end up spending an entire day googling, only to end up going down a rabbit hole of archaic and often obsolete commands that may or may not work. Once you get your environment set up it's fine, but try updating to the most recent Mac OS version with a ruby environment and you'll find pretty much all your gemsets broken in one way or another (if you have anything that needs native building). I might just be bitter, though, as I spent most of a day working through this exact situation just last week.
- serge2k 10y agoI don't know if I can trust homebrew, I hear their implementation of reversing binary trees is weak. On the other hand it's been pretty darn good for me.
- Lio 10y agoThat made me laugh! I hope everyone gets the joke. Homebrew is great. :)
- atarian 10y agoHow do I donate?
- hk__2 10y agoThis is described in the README: https://github.com/Homebrew/brew#donations https://github.com/Homebrew/brew#donations
- xorange 10y agoA Good Software. Thanks for the hard work, Homebrew peoples!
- matt4077 10y agoOf all package managers I use, homebrew is without a doubt the most satisfying. It tracks updates closely and has always had any package I was looking for, yet I don't remember the last time I ran into an error. (I'm sure all three happen, but if I can't find them with close to 200 packages installed, they must be doing something right)
- teilo 10y agoDespite the warnings from their team, as soon as I switched to /opt/homebrew all of my homebrew problems went away. The biggest issue by far are the number of traditional packages that install in /usr/local with root privileges, thereby clobbering homebrew and making "brew doctor" freak out.
- stephenr 10y ago> The biggest issue by far are the number of traditional packages that install in /usr/local with root privileges That is very much a problem with Homebrew, not those "traditional" packages.
- eltoozero 10y agoHomebrew: The macOS package manager Apple should have included from the beginning. Thanks for stepping up.
- pikachu_is_cool 10y agoSwitch from Ruby to LuaJIT! I'd wager this is the best package manager out there if not for the slowness of Ruby's VM.
- antirez 10y agoWithout Homebrew, MacOS would be a lot less a fit as a development machine for me. Thanks to the authors.
- omegote 10y agoIt's funny how every hipster dev uses a MacBook for development, yet you have to resort to this kind of hacks from day one if you want to be productive. Anyway.
- moondev 10y agoDocker for mac has replaced homebrew for me. Run anything under the sun in a temporary container and mount the current directory. Works great and is very nice isolating everything
- no_wizard 10y agoI love homebrew! I have it all on of my macOS machines. Best, easiest way to install common software I use between computers (Where supported, anyway) and developer packages. Now if we could just get http://linuxbrew.sh/ http://linuxbrew.sh/ up to the same caliber....:)
- harrygeez 10y agoAnyone here used port? What made you choose brew over port? I'm on the fence here.
- erichurkman 10y agoTo echo everyone else: Apple should be paying you folks a boat load of money. If homebrew didn't exist, I don't think we'd bother with macOS as a developer environment.
- krisgenre 10y agoAs a developer, if it weren't for Homebrew, I'd ditch OS X.
- heavy_machinery 10y agoHomebrew is awesome. Comes close to apt.
- kriro 10y agoI have mixed feelings about Homebrew. Don't get me wrong, it's great, good job everyone involved. It makes my OSX laptop a viable development option for me. Without Homewbrew I wouldn't use it. Alas that's also the problem. It makes OSX so familiar that this one OSX machine has now crept into my collection of Linux boxes and won't leave (thank you iOS development). I guess if your only complaint is that the software is too good...that's a pretty great thing :) Sometimes I wonder how valuable Apple thinks Homebrew is for them. Any info on how much they contribute to the project?
- akashaggarwal7 10y agoIt is so much easy to make your code public for everyone to use on Homebrew. Great job maintainers!
- deleted 10y ago
- lanebrain 10y agoHomebrew is one of the great things I love about doing dev on a Mac. /micdrop
- aymenim 10y agoFirst order of Action when setting up new Mac install chrome and homebrew :), Fantastic tool keep up the great work.
- eathrow 10y agoThe most fitting name for a software I've ever seen!