As macOS Mojave 10.14 comes only with ruby 2.3.x, you'll have to install Ruby. To run the latest Ruby version you need to install it through Homebrew. Install Homebrew on your Mac! There are two fantastic tools to install on you new Mac: After you install iTerm2, it’s time to install Homebrew! Homebrew is a package manager – think apt-get for OS X. It is trivial to install and instantly gives you access to thousands of open source tools and utilities.
If you’re looking for an easy guide to install Node.js and npm on OS X and macOS — this is it.
The default method for installing Node.js is to download a pre-built installer for your platform, install it and make sure it’s on your
$PATH
.However, if you’re a Homebrew fan like me and prefer to install all of your packages with it — ensuring your packages are installed using the same commands and directories and allowing Homebrew to easily manage upgrades and updates — then this guide will help you get started.
Install Node.js and npm with Homebrew
First, install Homebrew.
Then run
brew update
to make sure Homebrew is up to date.As a safe measure you should run
brew doctor
to make sure your system is ready to brew. Run the command below and follow any recommendations from brew doctor.Next, add Homebrew’s location to your
$PATH
in your .bash_profile
or .zshrc
file.Next, install Node (npm will be installed with Node):
To test out your Node and npm install, try installing Grunt (you might be asked to run with sudo):
If that worked then congratulations — you’ve installed Node.js, npm, and Grunt.
If not — retrace your steps or post a question to Stack Overflow.
Listen to related podcasts on The Changelog
Since you’re interested in Node.js, npm, and Homebrew — listen to some recent related podcasts we’ve done on those subjects.
The help output for the brew command running in the Terminal | |
Original author(s) | Max Howell |
---|---|
Initial release | 21 May 2009; 10 years ago[1] |
Stable release | |
Repository | |
Written in | Ruby |
Operating system | macOS, Linux |
Available in | English |
Type | Package manager |
License | BSD license |
Website | brew.sh |
Homebrew is a free and open-source software package management system that simplifies the installation of software on Apple'smacOS operating system and Linux. The name is intended to suggest the idea of building software on the Mac depending on the user's taste. Originally written by Max Howell, the package manager has gained popularity in the Ruby on Rails community and earned praise for its extensibility.[3] Homebrew has been recommended for its ease of use[4] as well as its integration into the command line.[5] Homebrew is a non-profit project member of the Software Freedom Conservancy, and is run entirely by unpaid volunteers.[6]
Homebrew has made extensive use of GitHub to expand the support of several packages through user contributions. In 2010, Homebrew was the third-most-forked repository on GitHub.[7] In 2012, Homebrew had the largest number of new contributors on GitHub.[8] In 2013, Homebrew had both the largest number of contributors and issues closed of any project on GitHub.[9]
Homebrew has spawned several sub-projects such as Linuxbrew, a Linux port now officially merged into Homebrew;[10][11] Homebrew Cask, which builds upon Homebrew and focuses on the installation of GUI applications;[12] and 'taps' dedicated to specific areas or programming languages like PHP.[13]
History[edit]
Homebrew was written by Max Howell in 2009.[1][14] In March 2013, Homebrew successfully completed a Kickstarter campaign to raise funds for servers to test and build formulae and managed to raise £14,859.[15] On December 13, 2013, the Homebrew repository migrated from Howell's GitHub account to its own project account.[16] In February 2015, due to downtime at SourceForge which resulted in binaries being unavailable, Homebrew moved their hosting to bintray.[17] On September 21, 2016, Homebrew version 1.0.0 was released.[18] As of December 2018, Homebrew is maintained by a team of 21 people.[6] In January 2019, Linuxbrew was merged back into Homebrew, adding beta support for Linux and the Windows Subsystem for Linux to Homebrew’s feature set.[19] On February 2, 2019, Homebrew version 2.0.0 was released.[20]
Implementation[edit]
Homebrew is written in the Ruby programming language and targets the version of Ruby that comes installed with the macOS operating system. It is by default installed into
/usr/local
and consists of a git repository, allowing the user to update Homebrew by pulling an updated repository from GitHub. The package manager builds software from source using 'formulae', Ruby scripts constructed with Homebrew's domain specific language (DSL) for managing dependencies, downloading source files, and configuring and compiling software. Binary packages called 'bottles' provide pre-built formulae with default options.Homebrew does not honor the default privileges of
/usr/local
; directory ownership is changed from root with group permissions for the wheel group to the installing user and the 'admin' group. Specifically, the mode changes from drwxr-xr-x root wheel
to drwxrwxr-x myuser admin
[21]. All files, not just the directories, have their ownership changed by the installer. This is considered by some as a major security flaw.[22]Data collection[edit]
Homebrew collects installation, build error, and operating system version statistics via Google Analytics.[23] It is possible to opt out with the command
brew analytics off
.[23]Users can view analytics data from the last 30, 90, and 365 days on the Homebrew website.[24]
See also[edit]
References[edit]
- ^ abHomebrew release 0.1 on GitHub
- ^2.1.7 on GitHub
- ^Arko, Andre. 'Homebrew: OS X's Missing Package Manager'. Engine Yard blog. Engine Yard. Archived from the original on July 8, 2015.Cite uses deprecated parameter
|deadurl=
(help) - ^Hoffman, Chris. 'Homebrew for OS X Easily Installs Desktop Apps and Terminal Utilities'. How-to Geek. Retrieved 24 June 2015.
- ^Terpstra, Brett. 'Homebrew, the perfect gift for command line lovers'. Engadget. Retrieved 24 June 2015.
- ^ abMcQuaid, Mike. 'Homebrew/brew/README.md'. GitHub. Archived from the original on 5 November 2018. Retrieved 4 December 2018.Cite uses deprecated parameter
|dead-url=
(help) - ^'Popular Forked Repositories'. GitHub. Archived from the original on 11 March 2010. Retrieved 24 June 2015.Cite uses deprecated parameter
|deadurl=
(help) - ^'The Octoverse in 2012'. GitHub.
- ^'GitHub Octoverse 2013'.
- ^'Linuxbrew'. Linuxbrew. Retrieved 2019-02-02.
- ^'Linuxbrew Readme'. GitHub. Retrieved 2019-03-29.
- ^'Homebrew Cask'. Github. Retrieved 15 April 2019.
- ^'Homebrew/homebrew-php'. GitHub. Retrieved 25 June 2015.
- ^Howell, Max. 'I'll start with a rare Belgian yeast and Sussex hops'. GitHub. Retrieved 24 June 2015.
- ^'brew test-bot'. Kickstarter. Retrieved 25 June 2015.
- ^@MacHomebrew (11 December 2013). 'This Saturday morning at 0100 GMT we will be migrating Homebrew' (Tweet) – via Twitter.
- ^@MacHomebrew (23 February 2015). 'Homebrew's bottles (binary packages) are now hosted by @bintray' (Tweet) – via Twitter.
- ^Homebrew release 1.0.0 on GitHub
- ^'Homebrew 1.9.0'. Homebrew. Retrieved 10 January 2019.
- ^McQuaid, Mike. '2.0.0'. Homebrew. Retrieved 3 February 2019.
- ^Ounsworth, Mike. 'What are the security implications of Homebrew and Macports?'. StackExchange Information Security. Retrieved 2 April 2019.
- ^Phil, Stokes. 'How Homebrew invites users to get pwned'. AppleHelpWriter.com. Retrieved 2 April 2019.
- ^ ab'Homebrew's Anonymous Aggregate User Behaviour Analytics'. GitHub. 20 September 2016. Archived from the original on 26 November 2016. Retrieved 26 November 2016.Cite uses deprecated parameter
|dead-url=
(help) - ^'Homebrew Analytics Data'. Homebrew. Retrieved 1 November 2018.
External links[edit]
- Official website
- Homebrew on GitHub
- 'The Changelog #223: Homebrew and Package Management with Mike McQuaid'. 2016-10-07.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Homebrew_(package_management_software)&oldid=905812386'