Skip to content

Instantly share code, notes, and snippets.

@mxcl
Created March 6, 2010 15:14
Show Gist options
  • Select an option

  • Save mxcl/323731 to your computer and use it in GitHub Desktop.

Select an option

Save mxcl/323731 to your computer and use it in GitHub Desktop.
Installs Homebrew to /usr/local so you don't need sudo to `brew install`
@bobthecow

Copy link
Copy Markdown

Most likely due to the fact that kernel.org is returning a 503 error when you try to download git...

http://kernel.org/pub/software/scm/git/git-1.7.6.1.tar.bz2

... kinda like it says in the error message :)

@Theqweezy

Copy link
Copy Markdown

ah yes, realizing that kernel is down

@alanjcfs

Copy link
Copy Markdown

When I tried to brew install mysql it gave me an error that it couldn't find /usr/local/Cellar. I had to mkdir /usr/local/Cellar to get it working. Should Cellar be created with this script or in one of the formulas?

@jazzido

jazzido commented Oct 26, 2011

Copy link
Copy Markdown

Got an error during install: /usr/local exists in the machine, but it doesn't contains all the subdirectories listed in chmods. That causes the sudo in line 113 to fail.

@halcyonCorsair

Copy link
Copy Markdown

Hi Max,

Please change abort unless getc == 13 to abort unless gets == "\n"

So that the install will work via fabric, etc!

@mxcl

mxcl commented Jan 17, 2012

Copy link
Copy Markdown
Author

@halcyonCorsair What's fabric? Why won't it work? What's etc?

@mxcl

mxcl commented Jan 17, 2012

Copy link
Copy Markdown
Author

@jazzido it checks if the directories exist on line 94. Error messages are more useful than inaccurate analysis. Thanks.

@Frungi

Frungi commented Jan 17, 2012

Copy link
Copy Markdown

@mxcl “Etc.” means “et cetera”, “and so on”, means things other than Fabric, whatever that is.

@adamv

adamv commented Jan 17, 2012

Copy link
Copy Markdown

Fabric is a Python-based ssh automation thingy: https://github.com/fabric/fabric

@mxcl

mxcl commented Jan 17, 2012

Copy link
Copy Markdown
Author

I wonder if there is any good reason I didn't use gets in the first place. I imagine there must be. It's not the kind of thing I'd do otherwise. Shame I didn't have the foresight to comment it :P

@mxcl

mxcl commented Jan 17, 2012

Copy link
Copy Markdown
Author

Aah. It's because of UX. if you press any other key it should immediately exit. gets requires you to press enter, which makes ineffective for the exit option for the instruction "Press enter to continue".

@halcyonCorsair

Copy link
Copy Markdown

Ok. In my quick tests, I'm getting

>> STDIN.getbyte

=> 10
>> 10.chr
=> "\n"
>> 13.chr
=> "\r"

Can we change the line to be:

i = getc
abort unless i == 13 or i == 13

Or am I off my rocker here?

@mxcl

mxcl commented Jan 18, 2012

Copy link
Copy Markdown
Author

Can we get an explanation of why it doesn't work so we can fix it more effectively?

@halcyonCorsair

Copy link
Copy Markdown

Oops, 2am typo there, what I meant was...

i = getc
abort unless i == 10 or i == 13

I have no idea why \r is getting sent instead of \n for me.

@mxcl

mxcl commented Jan 18, 2012

Copy link
Copy Markdown
Author

Modified. Thanks.

@sinisterchipmunk

Copy link
Copy Markdown

Pull request: http://gist.github.com/1836995
Changed shebang to #!/usr/bin/env ruby so other rubies can be used (in case user has removed the default system ruby)

@nhooey

nhooey commented Feb 21, 2012

Copy link
Copy Markdown

Ideally instead of saying "use su", this script should say "su to a non-root admin user". It got me confused when it said to just use su, and then said "don't run this as root".

@mxcl

mxcl commented Feb 21, 2012

Copy link
Copy Markdown
Author

I'll remove the su, bit. Since apparently people don't realise what it means. Nobody understands unix anymore.

@nhooey

nhooey commented Feb 21, 2012

Copy link
Copy Markdown

I understand Unix and it confused me.

The script says:

If you still want to use this script set your user to be an Administrator in System Preferences or `su'.

It should be more specific and say to su as an administrator user. I figured that root was effectively an administrator, because I'm new to MacOS. The language just isn't precise.

@mxcl

mxcl commented Feb 21, 2012

Copy link
Copy Markdown
Author

I have amended it as you suggested. Thanks.

@duksis

duksis commented Jan 4, 2013

Copy link
Copy Markdown

Link to wrong url -> new url raw.github.com/mxcl/homebrew/go

ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

@sdaitzman

Copy link
Copy Markdown

Broken link D:

ghost commented Oct 27, 2014

Copy link
Copy Markdown

To install :
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

@GraniteConsultingReviews

Copy link
Copy Markdown

Broken link

@sameer333

Copy link
Copy Markdown

use command
adduser bob
su - bob
and then run
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment