方案1:官网下载安装
安装期间可能会遇到一些默认路径权限的问题,例如:
bash
npm error Error: ACCESS: permission denied, mkdir '/usr/local/lib/node_modules/@vue'
建议使用brew安装
方案2:brew安装
如果您已经通过默认方式安装了 Node.js,但希望重新安装并自定义全局目录,可以通过以下步骤优雅地卸载 Node.js 并重新配置安装。
步骤 1:卸载 Node.js 和 npm
1.1 卸载 Node.js 和 npm
在 macOS 上,您可以使用以下命令卸载 Node.js 和 npm:
- 如果您通过 Homebrew 安装了 Node.js,可以执行:
bash
brew uninstall node
- 如果您是通过 官方安装包 安装的,您可以手动删除以下文件:
- 删除 Node.js 二进制文件和其他关联文件:
bash
sudo rm -rf /usr/local/bin/node
sudo rm -rf /usr/local/bin/npm
sudo rm -rf /usr/local/bin/npx
2. 删除 **Node.js** 的库和模块:
bash
sudo rm -rf /usr/local/lib/node_modules
3. 删除 **Node.js** 的共享文件:
bash
sudo rm -rf /usr/local/include/node
4. 删除 npm 的配置文件:
bash
sudo rm -rf ~/.npm
sudo rm -rf ~/.nvm
1.2 检查是否卸载成功
使用以下命令检查 node
和 npm
是否已经被卸载:
bash
node -v
npm -v
如果提示找不到命令,说明 Node.js 和 npm 已经成功卸载。
步骤 2:清理系统路径和环境变量
如果您已经手动配置过环境变量,确保清理相关的 ~/.bash_profile
或 ~/.zshrc
文件中的 Node.js 和 npm 配置。
2.1 清理环境变量配置
打开终端并编辑对应的配置文件(根据您使用的 shell):
- Bash 用户:
~/.bash_profile
- Zsh 用户:
~/.zshrc
执行以下命令:
bash
nano ~/.bash_profile # 或者 nano ~/.zshrc
删除包含 Node.js 和 npm 的配置行,例如:
bash
export PATH=$PATH:/usr/local/bin
保存并退出编辑器后,重新加载配置文件:
bash
source ~/.bash_profile # 或者 source ~/.zshrc
步骤 3:重新安装 Node.js 并自定义目录
3.1 安装 Node.js
您可以通过两种方式安装 Node.js:使用 官方安装包 或 Homebrew。
使用官方安装包:
- 访问 Node.js 官网,下载适合您操作系统的安装包(macOS)。
- 按照安装向导完成安装。
使用 Homebrew: 如果您使用 Homebrew 管理包,安装命令如下:
bash
brew install node
3.2 配置自定义的 npm 全局安装目录
安装完成后,您可以通过配置 npm 的全局安装目录来避免权限问题。
- 创建一个新的全局安装目录 (例如:
~/.npm-global
):
bash
mkdir ~/.npm-global
- 配置 npm 使用新的目录:
bash
npm config set prefix '~/.npm-global'
- 更新环境变量 :确保新的全局安装路径在
$PATH
中。打开您的 shell 配置文件并编辑:
bash
nano ~/.bash_profile # 或者 nano ~/.zshrc
在文件的末尾添加以下内容:
bash
export PATH=$PATH:~/.npm-global/bin
- 保存并退出,然后重新加载配置文件:
bash
source ~/.bash_profile # 或者 source ~/.zshrc
3.3 验证配置是否生效
通过以下命令,您可以验证 npm 是否使用了新的全局安装目录:
bash
npm config get prefix
该命令应返回 ~/.npm-global
,表示您已经成功设置了新的安装路径。
步骤 4:安装全局 npm 包
现在,您已经成功配置了 npm 的全局安装目录。您可以尝试安装一些全局 npm 包,例如 Vue CLI:
bash
npm install -g @vue/cli
总结
通过这些步骤,您已经:
- 卸载了旧的 Node.js 和 npm,并清理了相关的系统文件和配置。
- 重新安装了 Node.js ,并配置了自定义的全局安装目录
~/.npm-global
来避免权限问题。 - 通过修改环境变量和配置文件,使 npm 只使用新的目录来存储全局包。
这样,您可以避免未来因为权限问题导致的安装失败,同时保持系统的清洁和可维护性。