高效前端:如何优雅的安装Node.js和npm
所以我决定重写一篇文章,本文的技巧一定会让你效率翻倍,老规矩本文不止告诉你怎么做,还告诉你为什么这么做。
Node.js是现代Web开发中不可或缺的工具,随着项目需求的变化,可能需要使用不同版本的Node.js。因此,优雅地管理和切换Node.js版本显得尤为重要。本文将介绍如何在Mac上使用Homebrew安装n
工具来管理多个Node.js版本,并解决npm全局安装包时需要sudo
权限的问题。
开始之前先说明下,我的系统是 macOS 14.x,本文中介绍的工具安装方法,可能具有时效性,比如brew的安装可能会过时,如果遇到问题,可以去官网查看最新安装方法。
优雅地安装n
n
是一个Node.js版本管理工具,允许你轻松地安装、管理和切换多个Node.js版本。它的使用简单直观,非常适合开发者。通过n
,你可以在不同版本的Node.js之间快速切换,以满足不同项目的需求。
为什么选择Homebrew?
Homebrew是macOS上的一个包管理工具,它使得软件的安装和管理变得非常方便。通过Homebrew安装n
,可以简化安装过程,并确保环境的整洁和一致性。
使用Homebrew安装n
第1步,安装Homebrew,如果你还没有安装Homebrew,可以通过以下命令在终端中安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
第2步,使用Homebrew安装n
:
brew install n
安装完成后,你就可以使用n
来管理Node.js版本了。
优雅的管理Node.js多版本
为什么使用n
来管理Node.js版本?
不同项目可能依赖于不同版本的Node.js,手动管理这些版本不仅麻烦,而且容易出错。n
简化了这个过程,使得安装、切换和卸载Node.js版本变得非常方便。
类似的工具还有nvm,这里不对二者的优缺点做评价,笔者平时比较习惯使用n,所以这里介绍的是n,当然nvm也可以解决这个问题。
设置 N_PREFIX
环境变量
默认情况下,n
会将 Node.js 安装到 /usr/local
目录下,这通常需要管理员权限。为了避免权限问题,我们可以设置 N_PREFIX
环境变量,将 n
安装的 Node.js 版本放在用户目录下。
这个小技巧我最近才知道,再也需要sudo了,^_^。
创建自定义目录
首先,为n
创建一个目录来存放Node.js版本:
mkdir -p $HOME/.n
设置环境变量
如果现在使用n安装了Node.js,你会发现在命令行里执行node命令会说找不到node命令,这是因为我们改变了n的默认安装路径,需要将新的路径加入到PATH中,在你的shell配置文件中(如.bashrc
或.zshrc
)添加以下行:
export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH
保存并执行以下命令使配置生效:
source ~/.bashrc # 对于Bash用户
source ~/.zshrc # 对于Zsh用户
使用n
安装Node.js版本
安装最新的稳定版
通过以下命令安装最新的稳定版Node.js:
n stable
安装最新的LTS(长期支持)版
LTS版本通常更稳定,适合在生产环境中使用。通过以下命令安装最新的LTS版本:
n lts
安装指定版本(例如14.17.0)
有时你可能需要特定版本的Node.js,可以使用以下命令安装:
n 14.17.0
切换Node.js版本
列出已安装的版本并选择一个进行切换:
n
卸载不需要的Node.js版本
为了保持系统整洁,可以卸载不再需要的Node.js版本:
n rm 14.17.0
解决npm全局命令需要sudo的问题
为什么npm全局安装需要sudo?
默认情况下,如果你安装的npm包会创建一个全局命令的话,比如安装pnpm,会涉及到权限问题。
这是因为npm全局安装包会写入系统目录(例如/usr/local
),这通常需要管理员权限。因此,在安装全局包时需要使用sudo
,这可能会带来一些不便和安全问题。
解决方案:创建用户目录用于全局安装
为了解决这个问题,我们可以为npm全局包创建一个用户目录,这样可以避免使用sudo
安装全局包。
创建自定义目录
首先,为全局npm包创建一个目录:
mkdir -p $HOME/.npm-global
设置npm配置以使用自定义目录
然后,配置npm使用这个新的全局目录:
npm config set prefix '~/.npm-global'
修改环境变量
为了确保系统能够找到全局安装的npm包,需要将新目录的bin
子目录添加到PATH
环境变量中。在你的shell配置文件中添加以下行:
export PATH="$HOME/.npm-global/bin:$PATH"
保存并执行以下命令使配置生效:
source ~/.bashrc # 对于Bash用户
source ~/.zshrc # 对于Zsh用户
总结
通过本文,你学会了如何优雅地在Mac上使用Homebrew安装n
,并使用n
来管理多个Node.js版本。同时,你还学会了如何解决npm全局安装包时需要sudo
的问题。希望这些技巧能帮助你在开发过程中更加高效。
这下终于告别sudo了,太开心了(^▽^)。
原创不易,感谢阅读,你还知道什么Node.js和npm的技巧,欢迎评论区交流。
转载自:https://juejin.cn/post/7371687296599195699