我正在尽可能多地使用Homebrew。在MacOS X上安装Node.js、nvm和npm的推荐方式是什么?
当前回答
2021年更新
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
MAC故障处理:
从macOS 10.15开始,默认shell是zsh, nvm将寻找.zshrc来更新,默认情况下没有安装。用touch ~/创建一个。ZSHRC并再次运行安装脚本。
如果您使用bash(前面的默认shell),则运行touch ~/。Bash_profile来创建必要的配置文件(如果不存在)。
您可能需要重新启动终端实例或运行。~ / .nvm / nvm.sh。重新启动终端/打开新选项卡/窗口,或运行source命令将加载该命令和新配置。
您以前使用过bash,但是安装了zsh。您需要手动将这些行添加到~/。ZSHRC并运行。~ / . zshrc。
其他回答
我使用n(节点版本管理)
您可以通过两种方式安装它
brew install n
or
npm install -g n
您可以在不同版本的node和io之间进行切换。下面是一个来自我当前env的例子,当我不带参数地调用n时:
$ n
io/3.3.1
node/0.12.7
node/4.0.0
node/5.0.0
ο node/5.10.1
使用nvm安装Node.js,而不是Homebrew
在大多数回答中,推荐使用Homebrew安装nvm。
不要这样做。
在nvm的Github上,Readme清楚地说:
不支持自制程序安装。如果你对homebrew安装的nvm有问题,请先卸载它,然后按照下面的说明进行安装,然后再提交问题。
请使用下面的方法
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
脚本将nvm存储库克隆到~/。NVM并将源行添加到概要文件(~/。bash_profile、~ /。zshrc ~ /。或者~/.bashrc)。
然后使用nvm安装node。例如,要安装最新的LTS版本,请:
nvm install 16
干净,没有麻烦。它会把这个设置为你的默认Node.js版本,所以你应该都设置好了。
使用zsh和Homebrew安装:
brew install nvm <=== This is not recommended by NVM. They want to run their shell script instead
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
然后将以下内容添加到~/。ZSHRC或您所需的shell 配置文件:
export NVM_DIR="$HOME/.nvm"
. "/usr/local/opt/nvm/nvm.sh"
然后安装一个节点版本并使用它。
nvm install 7.10.1
nvm use 7.10.1
2021年更新
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
MAC故障处理:
从macOS 10.15开始,默认shell是zsh, nvm将寻找.zshrc来更新,默认情况下没有安装。用touch ~/创建一个。ZSHRC并再次运行安装脚本。
如果您使用bash(前面的默认shell),则运行touch ~/。Bash_profile来创建必要的配置文件(如果不存在)。
您可能需要重新启动终端实例或运行。~ / .nvm / nvm.sh。重新启动终端/打开新选项卡/窗口,或运行source命令将加载该命令和新配置。
您以前使用过bash,但是安装了zsh。您需要手动将这些行添加到~/。ZSHRC并运行。~ / . zshrc。
你应该用nvm安装node.js,因为这样你就不必在安装全局包时提供超级用户权限(你可以简单地执行"npm install -g packagename"而不加'sudo')。
然而,对于其他事情,Brew是非常棒的。每当我可以选择使用Bower安装一些东西时,我都倾向于使用Bower。
推荐文章
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- ReferenceError: description没有定义NodeJs
- “你有邮件”的消息在终端,os X
- 将一个二进制的NodeJS Buffer转换为JavaScript的ArrayBuffer
- Mac OS X中的环境变量
- AngularJS只适用于单页应用程序吗?
- 如何在vue-cli项目中更改端口号
- Homebrew:以新的formula@version格式列出可用版本
- 如何从macOS完全卸载蟒蛇
- 如何查看npm包的大小?
- 同步和异步编程(在node.js中)的区别是什么?
- 如何编辑通过npm安装的节点模块?
- 如何配置Mac OS X术语,使git有颜色?
- “node_modules”文件夹应该包含在git存储库中吗