Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to brew install specific version of Node?

For example I want to install either 7.9 or 7.10 but want to avoid Node 8 due to the webpack node-sass breaking bug.

When I run brew search node this is what I see:

❯ brew search node leafnode llnode node ✔ node-build > [email protected] [email protected] node@4 node@6 nodebrew nodeenv nodenv caskroom/cask/node-profiler

If you meant "node" specifically: It was migrated from caskroom/cask to homebrew/core. You can access it again by running: brew tap homebrew/core

There is node which is checked (my current version is v7.4.0 then [email protected], [email protected], node@4 and node@6?

The reason I can't just fully upgrade to 8 is node-sass won't work in webpack.


Just installed NVM and got this crazy error log:

=> nvm source string already in /Users/leongaban/.zshrc => Appending bash_completion source string to /Users/leongaban/.zshrc npm ERR! missing: is-path-cwd@^1.0.0, required by [email protected] npm ERR! missing: is-path-in-cwd@^1.0.0, required by [email protected] npm ERR! missing: p-map@^1.1.1, required by [email protected] npm ERR! missing: pify@^3.0.0, required by [email protected] npm ERR! missing: rimraf@^2.2.8, required by [email protected] npm ERR! missing: bluebird@^3.1.1, required by [email protected] npm ERR! missing: clone@^1.0.2, required by [email protected]

...

=> You currently have modules installed globally with `npm`. These will no => longer be linked to the active version of Node when you install a new node => with `nvm`; and they may (depending on how you construct your `$PATH`) => override the binaries of modules installed with `nvm`: 

If I'm reading this right, does this mean I can't use npm to globally install packages anymore and have to use nvm?

Update

I added the export lines to my .zshrc bash (I don't use bash_profile)

❯ nvm --version 0.33.2 
like image 471
Leon Gaban Avatar asked Jun 28 '17 13:06

Leon Gaban


People also ask

How do I install a specific version of node?

How To Install A Specific Version Of A Package. You can use the npm install command to download and install a package on your development environment. By default, the npm install command fetches the latest available version of the specified package—in this case, it's Renovate version 24.52.

How do I install a specific version of a package with brew?

Installing the latest package: Easy Installing with brew can't be made any simpler. Search the package you need, type brew install <package-name> , and that's all.


2 Answers

There are two ways in the decision to use a different version of the Node. Second way is more convenient and practical in my opinion.


First way:

Install other Node version(for example 14) with using:

brew install brew unlink brew link
brew install - github brew unlink - github brew link - github
brew install node@14 brew unlink node brew link node@14 node -v 

PS You may use brew link with flag --overwrite, for example:

brew link --overwrite node@14 

PS2 Why unlink and then link again?

Documentation:

Remove symlinks for formula from Homebrew's prefix. This can be useful for temporarily disabling a formula:

brew unlink formula && commands && brew link formula

In other words:

if you have both node and node@14 installed, where node is other version(..,15 or 16), so, for set active version 14:

you must unlink node and then link to new installed version 14
brew unlink node brew link node@14

Second way:

Install Node Version Manager(nvm) and select Node version:

nvm - github nvm - home brew

brew install nvm  mkdir ~/.nvm  export NVM_DIR="$HOME/.nvm"     [ -s "$(brew --prefix)/opt/nvm/nvm.sh" ] && . "$(brew --prefix)/opt/nvm/nvm.sh" # This loads nvm     [ -s "$(brew --prefix)/opt/nvm/etc/bash_completion.d/nvm" ] && . "$(brew --prefix)/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion  nvm install 14  nvm use 14  nvm list 
like image 170
shilovk Avatar answered Oct 13 '22 01:10

shilovk


If versions on homebrew/code are defined right, you must also be able to brew install [email protected] for example.

You can also install multiple versions and select which one you want to use with the brew switch command.

--

Anyway, I'd recommend using nvm, which can be installed through Homebrew. Although, the version on brew is buggy and they don't plan fixing it.

like image 22
balintant Avatar answered Oct 12 '22 23:10

balintant