如何 brew 安装特定版本的 Node?
How to brew install specific version of Node?
例如,我想安装 7.9 或 7.10,但由于 webpack node-sass
破坏性错误,我想避免使用 Node 8。
当我 运行 brew search node
这是我看到的:
❯ brew search node
leafnode llnode node ✔ node-build > node@0.10 node@0.12 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
有节点被检查(我当前的版本是v7.4.0
然后是node@0.10
、node@0.12
、node@4
和node@6
?
我不能完全升级到 8 的原因是 node-sass 不能在 webpack 中工作。
刚刚安装了 NVM 并收到了这个疯狂的错误日志:
=> 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 del@3.0.0
npm ERR! missing: is-path-in-cwd@^1.0.0, required by del@3.0.0
npm ERR! missing: p-map@^1.1.1, required by del@3.0.0
npm ERR! missing: pify@^3.0.0, required by del@3.0.0
npm ERR! missing: rimraf@^2.2.8, required by del@3.0.0
npm ERR! missing: bluebird@^3.1.1, required by gulp-html-replace@1.6.2
npm ERR! missing: clone@^1.0.2, required by gulp-html-replace@1.6.2
...
=> 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`:
如果我没看错,这是否意味着我不能再使用 npm
全局安装软件包而必须使用 nvm
?
更新
我将导出行添加到我的 .zshrc bash(我不使用 bash_profile)
❯ nvm --version
0.33.2
如果 homebrew/code
上的版本定义正确,您还必须能够 brew install node@0.12
例如。
您还可以通过 brew switch
命令安装多个版本和 select 您想要使用的版本。
--
无论如何,我建议使用 nvm,它可以通过 Homebrew 安装。虽然,brew
上的版本有问题,他们不打算修复它。
决定使用不同版本的Node有两种方式。 第二种方式我觉得比较方便实用
第一种方式:
使用以下方式安装其他 Node 版本(例如 14):
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 您可以使用带有标志 --overwrite
的 brew link
,例如:
brew link --overwrite node@14
PS2 为什么 unlink
然后又是 link
?
文档:
Remove symlinks for formula from Homebrew's prefix. This can be
useful for temporarily disabling a formula:
brew unlink formula && commands && brew link formula
换句话说:
如果您同时安装了 node 和 node@14,其中 node 是其他版本(..,15 或 16),因此,对于设置活动版本 14:
you must unlink
node
and then link
to new installed version 14
brew unlink node
brew link node@14
第二种方式:
安装节点版本管理器(nvm)和select节点版本:
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
安装最新版本的节点并取消链接以前安装的节点
brew install node@14
brew unlink node
brew link --overwrite node@14
echo 'export PATH="/usr/local/opt/node@14/bin:$PATH"' >> ~/.bash_profile
node -v
brew install --build-from-source node@14
例如,我想安装 7.9 或 7.10,但由于 webpack node-sass
破坏性错误,我想避免使用 Node 8。
当我 运行 brew search node
这是我看到的:
❯ brew search node leafnode llnode node ✔ node-build > node@0.10 node@0.12 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
有节点被检查(我当前的版本是v7.4.0
然后是node@0.10
、node@0.12
、node@4
和node@6
?
我不能完全升级到 8 的原因是 node-sass 不能在 webpack 中工作。
刚刚安装了 NVM 并收到了这个疯狂的错误日志:
=> 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 del@3.0.0
npm ERR! missing: is-path-in-cwd@^1.0.0, required by del@3.0.0
npm ERR! missing: p-map@^1.1.1, required by del@3.0.0
npm ERR! missing: pify@^3.0.0, required by del@3.0.0
npm ERR! missing: rimraf@^2.2.8, required by del@3.0.0
npm ERR! missing: bluebird@^3.1.1, required by gulp-html-replace@1.6.2
npm ERR! missing: clone@^1.0.2, required by gulp-html-replace@1.6.2
...
=> 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`:
如果我没看错,这是否意味着我不能再使用 npm
全局安装软件包而必须使用 nvm
?
更新
我将导出行添加到我的 .zshrc bash(我不使用 bash_profile)
❯ nvm --version
0.33.2
如果 homebrew/code
上的版本定义正确,您还必须能够 brew install node@0.12
例如。
您还可以通过 brew switch
命令安装多个版本和 select 您想要使用的版本。
--
无论如何,我建议使用 nvm,它可以通过 Homebrew 安装。虽然,brew
上的版本有问题,他们不打算修复它。
决定使用不同版本的Node有两种方式。 第二种方式我觉得比较方便实用
第一种方式:
使用以下方式安装其他 Node 版本(例如 14):
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 您可以使用带有标志 --overwrite
的 brew link
,例如:
brew link --overwrite node@14
PS2 为什么 unlink
然后又是 link
?
文档:
Remove symlinks for formula from Homebrew's prefix. This can be useful for temporarily disabling a formula:
brew unlink formula && commands && brew link formula
换句话说:
如果您同时安装了 node 和 node@14,其中 node 是其他版本(..,15 或 16),因此,对于设置活动版本 14:
you must unlink node |
and then link to new installed version 14 |
---|---|
brew unlink node |
brew link node@14 |
第二种方式:
安装节点版本管理器(nvm)和select节点版本:
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
安装最新版本的节点并取消链接以前安装的节点
brew install node@14
brew unlink node
brew link --overwrite node@14
echo 'export PATH="/usr/local/opt/node@14/bin:$PATH"' >> ~/.bash_profile
node -v
brew install --build-from-source node@14