nijicha / Install_nodejs_and_yarn_homebrew
Projects that are alternatives of or similar to Install nodejs and yarn homebrew
Install NVM, NodeJS, Yarn via Homebrew
Notice
Move from this Gist
Pull request is available. Please help me contribute this one 😂.
Prerequisites
- Homebrew should be installed (Command line tools for Xcode are included).
Getting start
Part A: Install NVM and NodeJS
-
Install
nvm
via Homebrew$
brew install nvm
-
Add following line to your profile. (
.profile
or.zshrc
or.zprofile
)# NVM export NVM_DIR=~/.nvm source $(brew --prefix nvm)/nvm.sh
-
Close and open your terminal again. Or Choose one from the following command once for reload your profile. (
.profile
or.zshrc
or.zprofile
)Example
- $
source ~/.profile
- $
source ~/.zshrc
- $
source ~/.zprofile
- $
-
Verify
nvm
is installed$
nvm --version
-
Check all available version by this command
$
nvm ls-remote
-
Install NodeJS (Recommended to install LTS version. Current LTS is Fermium)
$
nvm install --lts=Fermium
-
Check installed NodeJS in your machine.
$
nvm ls
-
Set global nodejs version to environment.
$
nvm use default
See more about nvm
: https://github.com/creationix/nvm
Part B: Install Yarn and Linked nvm node to Homebrew
-
Install
yarn
via Homebrew$
brew install yarn
-
Remove
node
dependencies from Homebrew$
brew uninstall node --ignore-dependencies
-
Checkout
node
in environment$PATH
$
which node
It should be return =>
/User/<your-user-name>/.nvm/versions/node/<latest-node-lts-version>/bin/node
-
Checkout
brew doctor
there should show message WARNING missing yarn dependencies$
brew doctor
-
Create blank folder and create symbol link
node
folder fromnvm
foryarn
in Homebrew.$
nvm current
=> v14.15.0 (Latest LTS: Fermium) (This should be Global node version)$
mkdir /usr/local/Cellar/node
$
ln -s ~/.nvm/versions/node/$(nvm current)/ /usr/local/Cellar/node
-
Overwrite
node, npm and npx
from linkednode
in/usr/local/Cellar/node
to/usr/local/bin/
homebrew$
brew link --overwrite node
-
Checkout
ls -la /usr/local/bin
to see overwritednode, npm and npx
-
Checkout
brew doctor
again. There shouldn't have WARNING message.$
brew doctor
-
Prevent Homebrew upgrading node version
$
brew pin node
-
Enjoy ! ❤️
Part C: Upgrading, To change node.js version and Re-configure Homebrew
-
Checkout
nvm
for to usenode
version (For this example case I will use LTS Fermium)$
nvm list
$ nvm list -> v12.13.1 system default -> 12.13.1 (-> v12.13.1) node -> stable (-> v12.13.1) (default) stable -> 12.13 (-> v12.13.1) (default) iojs -> N/A (default) unstable -> N/A (default) lts/* -> lts/erbium (-> v12.13.1) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.16.2 (-> N/A) lts/dubnium -> v10.17.0 (-> N/A) lts/erbium -> v12.13.1
* See more about
nvm
: https://github.com/creationix/nvm -
Remove the symbol link which we linked
node
in Homebrew/usr/local/Cellar/node
$
rm -rf /usr/local/Cellar/node
-
Unpin
node
in Homebrew for upgradingyarn
$
brew unpin node
-
Upgrade
yarn
$
brew upgrade yarn
-
Continue on Part B 2. - 10. steps again.
-
Say yay 😝