
Homebrew 1.1.0 - sashk
http://brew.sh/2016/11/07/homebrew-1.1.0/
======
AdamN
I'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.

~~~
mikemcquaid
Thanks for the kind words. You'd be surprised how motivating they are. <3

~~~
swrobel
Thanks so much! Without homebrew I'd probably end up going back to Linux.

~~~
nindalf
Same here. It's a bother to use a computer without apt-get or homebrew.

------
brunosutic
Homebrew 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
Agreed. 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
Whoaaa didn't know that command. This could replace something like say nvm?

~~~
mikemcquaid
It 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.

------
lisper
I 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
> 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
Ah, that is very good to know! Thank you! I will take a fresh look at
homebrew. :-)

~~~
mikemcquaid
To 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
That'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.

~~~
comex
You can use a different directory, though some packages may be broken:

[https://github.com/Homebrew/brew/blob/master/docs/Installati...](https://github.com/Homebrew/brew/blob/master/docs/Installation.md)

~~~
lisper
Yeah, that's kind of the situation I'm in. So for any given package it's a
crap shoot whether or not it will work. (And if it doesn't work, uninstalling
it can be a real problem!) Hence my continued mixed feelings about homebrew in
general.

------
dancek
There 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
Side-topic: Shouldn't the breaking changes be enough reason to bump the
version to 2.0?

~~~
thedaniel
relevant discussion here [https://github.com/Homebrew/homebrew-
core/issues/6677](https://github.com/Homebrew/homebrew-core/issues/6677)

~~~
pflats
Of specific interest: "This deprecation was announced and these methods
removed/undocumented before 1.0.0 was tagged so arguably it was not part of
the public API when 1.0.0 shipped."

I'm ambivalent. If I rev 1.0 - 1.1, then I'm going to assume the API won't
change, even if I'm using undocumented and warning-spitting methods.

But I shouldn't be doing that, I shouldn't roll in a minor update without at
least reading the change log, it's a FOSS project run by a volunteer staff,
and brew never swore an oath to follow the laws of versioning as set by
semver.org.

If the brew documentation said, "We use semantic versioning," then I'd say the
complainants were correct. Otherwise, versions are just versions, and all you
can count on is (Major Changes).(Medium Changes).(Minor Changes).(Tiny
Changes).(etc.)

edit: Thoughts:

Years and years ago, I spent a lot of time and energy ranting about the fact
that Google called GMail "beta software" when it was clearly not feature
complete, and beta has a meaning, and we are just destroying a useful system
of names for the software testing and release cycle, and…

But in the end, version numbers and development stages are language, and you
cannot force your language on others, irregardless of whether or not you'd
like to.

~~~
jffry
> I'm going to assume the API won't change, even if > I'm using undocumented
> and warning-spitting methods.

And here I disagree, quite strongly. If I'm using "undocumented and warning-
spitting methods" then I know what I have done is a hack and those methods
could disappear or change at any time and I should proceed at my own peril.

~~~
pflats
>And here I disagree, quite strongly. If I'm using "undocumented and warning-
spitting methods" then I know what I have done is a hack and those methods
could disappear or change at any time and I should proceed at my own peril.

We're in complete agreement, actually. I'm just saying that I generally don't
_expect_ things like that to change on a point release, not that it can't,
won't, or shouldn't. You're definitely juggling chainsaws if you're in a
situation like that.

------
antirez
Without Homebrew, MacOS would be a lot less a fit as a development machine for
me. Thanks to the authors.

------
vr46
Always 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

~~~
mikemcquaid
We 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/Installati...](https://github.com/Homebrew/brew/blob/master/docs/Installation.md#alternative-
installs)

~~~
vr46
Bottles 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

------
AdamN
Just a quick poll. Is anybody still using MacPorts or anything else? If so,
why?

~~~
nrclark
I 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
> 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.

~~~
twic
This is also exactly why i use MacPorts. It works. It doesn't do silly stuff.
It's been consistently solid for years.

Today, i got into a fight with Homebrew because i wanted to use a second user
account on my laptop. I have one primary account, and another i use when doing
workshops with clients, so i don't accidentally show them my sekrit files. The
only way to get brew to install things without making trouble was to sudo -i
to my primary account in a shell.

Don't get me started on "brew install docker" vs "brew cask install docker".

That said, 'sudo port upgrade git' has been failing for me for about a day
now, because none of the archives have 2.10.1. I see this sort of thing
occasionally, and it's annoying, but not really obstructive.

~~~
raimue
> That said, 'sudo port upgrade git' has been failing for me for about a day
> now, because none of the archives have 2.10.1. I see this sort of thing
> occasionally, and it's annoying, but not really obstructive.

You are probably using on old version of OS X that does not yet support TLS
1.2. Therefore system's libcurl cannot talk to
[https://kernel.org](https://kernel.org) anymore, which got very strict
recently. As a workaround, you can download the tarball manually with your
browser and place it into /opt/local/var/macports/distfiles/git/.

[https://trac.macports.org/ticket/52604](https://trac.macports.org/ticket/52604)

------
raimue
Disabling 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
Homebrew does, in fact, always use its own strong additional checksum (sha256)
in the individual Formulae for all downloaded resources.

~~~
raimue
There 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.

------
Raphmedia
I have been very happy with Homebrew some far. What are some good windows
alternative? Making the move from OSX to Windows in a week.

~~~
agscala
I 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.

------
matt4077
Of 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
Despite 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
> 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.

------
erichurkman
To 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.

------
truebosko
I 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

------
kriro
I 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?

------
ianoshorty
Recently had to reinstall my mac from scratch. I was able to install 95% of my
daily software through brew, by far a new record. Big thanks to the developers
/ maintainers of this project.

------
krisgenre
As a developer, if it weren't for Homebrew, I'd ditch OS X.

------
no_wizard
I 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....:)

------
eltoozero
Homebrew: The macOS package manager Apple should have included from the
beginning.

Thanks for stepping up.

------
dudul
Probably stupid question but: how do you update your version?

~~~
epmatsw
Pretty sure just brew update.

~~~
dudul
That's what I thought, but after running that it doesn't log any sort of
version update.

~~~
yoz-y
I 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.

~~~
dudul
Confirmed. It worked for me too :) Thanks.

------
akashaggarwal7
It is so much easy to make your code public for everyone to use on Homebrew.
Great job maintainers!

------
lanebrain
Homebrew is one of the great things I love about doing dev on a Mac. /micdrop

------
accraze
Homebrew is what keeps me working on a Mac, plus now that Docker for Mac is
out....

------
AtticusTheGreat
There 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.

------
omegote
It'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.

------
xorange
A Good Software. Thanks for the hard work, Homebrew peoples!

------
aymenim
First order of Action when setting up new Mac install chrome and homebrew :),
Fantastic tool keep up the great work.

------
rocky1138
I know they're different platforms, but how does this compare to apt? Which is
better?

~~~
mikemcquaid
Homebrew maintainer view: apt is better.

------
harrygeez
Anyone here used port? What made you choose brew over port? I'm on the fence
here.

------
eathrow
The most fitting name for a software I've ever seen!

------
moondev
Docker 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

------
atarian
How do I donate?

~~~
hk__2
This is described in the README:
[https://github.com/Homebrew/brew#donations](https://github.com/Homebrew/brew#donations)

------
heavy_machinery
Homebrew is awesome. Comes close to apt.

------
serge2k
I 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
That made me laugh! I hope everyone gets the joke. Homebrew is great. :)

------
pikachu_is_cool
Switch from Ruby to LuaJIT! I'd wager this is the best package manager out
there if not for the slowness of Ruby's VM.

------
anon789na
It'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.

