ChatGPT解决这个技术问题 Extra ChatGPT

How to install latest version of Node using Brew

The latest version of NodeJs right now is 0.4.1

The command brew install node right now, installs 0.2.6 - which is not ideal. I would like 0.4.1

I've looked at this list of commands for brew and tried brew install --HEAD node

But that installs node 0.5-pre.

Why isn't brew installing the right version and how can I force it to get the right one?

At this stage, it looks like it would actually be easier just to download the src and install it manually. But I would like to know what's going on with Brew.

I am curious. What is the difference between installing via Homebrew and installing from the package downloaded from nodejs.org?

B
Bryan Downing

Run commands below, in this order:

brew update
brew doctor
brew upgrade node

Now you have installed updated version of node, and it's probably not linked. If it's not, then just type: brew link node or brew link --overwrite node


Keep getting /usr/local/share/doc/node is not writable.
@SabaAhang, see: Fix permissions on /usr/local for Homebrew ; ; gist.github.com/rpavlik/768518
Error: No such keg: /usr/local/Cellar/node
brew link --overwrite node it's really of importance! thanks
@SabaAhang Just run sudo chown -R $USER /usr/local
s
stevek-pro

After installation/upgrading node via brew I ran into this issue exactly: the node command worked but not the npm command.

I used these commands to fix it.

brew uninstall node
brew update
brew upgrade
brew cleanup
brew install node
sudo chown -R $(whoami) /usr/local
brew link --overwrite node
brew postinstall node

I pieced together this solution after trial and error using...

a github thread: https://github.com/npm/npm/issues/3125

this site: http://developpeers.com/blogs/fix-for-homebrew-permission-denied-issues


Thank you! Had the exact same issue, and this solved it.
sudo brew postinstall node will throw an error unless brew is owned by root (not recommended). I don't think it should be needed if you already did sudo chown -R $(whoami) /usr/local. You should be able to just run brew postinstall node.
@SamFen 's right. sudo not needed. I first ran the accepted answer before I gave this listing of commands a go. Afterwards I ran node -v and everything seems fine now.
Use sudo chown -R $(whoami) $(brew --prefix)/* instead of sudo chown -R $(whoami) /usr/local
This worked for me. I did what @TroyDCThompson recommended sudo chown -R $(whoami) $(brew --prefix)/* as I was getting Operation not permitted.
L
Lily Ballard

Have you run brew update first? If you don't do that, Homebrew can't update its formulas, and if it doesn't update its formulas it doesn't know how to install the latest versions of software.


Right, I'd tried 'brew update node' but I see now you are right. It didn't occur to me because the doco says that 'brew update' would update the brew software - which would seem to make no difference. But it mentions 'formulea' - which is just a (frankly) stupid word for what is basically it's 'library of software versions'. I can do 'brew info node' to find out what version it's going to install. It's set to 0.4.0 so I ended up installing from src anyway, but this is right. Thank you.
When it says "update the brew software" it doesn't mean update software that brew has installed - it means update brew itself, as well as its library of Formulae.
L
Lance

Sometimes brew update fails on me because one package doesn't download properly. So you can just upgrade a specific library like this:

brew upgrade node

https://gist.github.com/3005832


A
AlexSh

Also, try to deactivate the current node version after installing a new node version. It helps me.

nvm deactivate

This is removed /Users/user_name/.nvm/*/bin from $PATH

And after that node was updated

node --version
v10.9.0

H
Harikrishnan

If you have installed current node via Homebrew, just use these commands.

brew update
brew upgrade node

Check node version by

node -v


t
the Tin Man

node -v will show you the current version. npm -v will show you the current version. brew link --overwrite --dry-run node will force the link and overwrite all conflicting files. brew install node do a fresh installation. brew update brew upgrade node brew link --overwrite node or brew link node

Node Upgrade Procedure are below


This might be helpful to some -/usr/local/include/node is not writable codegrepper.com/code-examples/javascript/….
o
ojreadmore

I had to do brew link --overwrite node after brew install node to update from 0.4 to 0.8.18


Error: No such keg: /usr/local/Cellar/node
R
Reuben

Try to use "n" the Node extremely simple package manager.

> npm install -g n

Once you have "n" installed. You can pull the latest node by doing the following:

> n latest

I've used it successfully on Ubuntu 16.0x and MacOS 10.12 (Sierra)

Reference: https://github.com/tj/n


u
user2096561

Just used this solution with Homebrew 0.9.5 and it seemed like a quick solution to upgrade to the latest stable version of node.

brew update

This will install the latest version

brew install node

Unlink your current version of node use, node -v, to find this

brew unlink node012

This will change to the most up to date version of node.

brew link node

Note: This solution worked as a result of me getting this error:

Error: No such keg: /usr/local/Cellar/node


D
Daniel Viglione

I did this on Mac OSX Sierra. I had Node 6.1 installed but Puppetter required Node 6.4. This is what I did:

brew upgrade node
brew unlink node
brew link --overwrite node@8
echo 'export PATH="/usr/local/opt/node@8/bin:$PATH"' >> ~/.bash_profile

And then open a new terminal window and run:

node -v
v8.11.2

The --overwrite is necessary to override conflicting files between node6 and node8


c
c-project

You can use nodebrew. It can switch node versions too.


H
Hims1911

if the node is not installed then

brew install node

If you have an older version of the node installed then remove it and re-install freshly that's the only suitable way.

Make sure to add the path in the environment file.


J
Jon z

If you're willing to remove the brew dependency, I would recommend nvm - I can't really recommend it over any other versioning solution because I haven't needed to try anything else. Having the ability to switch instantly between versions depending on which project you're working on is pretty valuable.


d
danharsanyi

Just go old skool - https://nodejs.org/en/download/current/ From there you can get the current or LTS versions


a
abhay anand

sudo n latest

OR

brew update

brew upgrade node

Reference: https://bytearcher.com/articles/ways-to-get-the-latest-node.js-version-on-a-mac/


T
Thiago Avila

I tried everything here, but apparently, I had used nvm to install node. So I just ran

nvm deactivate

And then

brew install node
node -v