admin管理员组文章数量:1134238
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
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
Share
Improve this question
edited Jan 12, 2022 at 19:16
Kᴏɴsᴛᴀɴᴛɪɴ Sʜɪʟᴏᴠ
13k17 gold badges80 silver badges77 bronze badges
asked Jun 28, 2017 at 13:20
Leon GabanLeon Gaban
39k122 gold badges348 silver badges549 bronze badges
4
|
4 Answers
Reset to default 226There are two ways in the decision for using different version of Node. Second way is more convenient and practical by my opinion (also may be faster).
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 |
PS3
Brew typically supports only major versions of software packages, meaning it provides updates like node@18 rather than specific minor versions such as [email protected].
This approach simplifies package management by focusing on core stable releases without maintaining every minor version.
For more precise version control, tools like nvm(Second way) are recommended, allowing to install specific minor or patch versions as needed.
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
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.
To install the latest version of node and unlink the previously installed
brew install node@14
brew unlink node
brew link --overwrite node@14
# Facing an issue with the brew link run below command and try again
# sudo chown -R $(whoami) $(brew --prefix)/*
echo 'export PATH="/usr/local/opt/node@14/bin:$PATH"' >> ~/.bash_profile
node -v
brew install --build-from-source node@14
just use --build-from-source flag
本文标签: javascriptHow to brew install specific version of NodeStack Overflow
版权声明:本文标题:javascript - How to brew install specific version of Node? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1736822963a1954367.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
nvm install node
thennvm exec 7.9 node --version
? I don't want to mess up the install and use version 8. – Leon Gaban Commented Jun 28, 2017 at 13:31