不使用科学方式。
AlmaLinux 8 安装 nvm 教程
[!info] 提问 almalinux8 如何安装 nvm 呢?我是在国内环境,访问 github 不太方便。
在国内环境下安装nvm
(Node Version Manager)时,可以通过以下步骤绕过 GitHub 访问问题:
1. 安装依赖
首先,确保系统已安装curl
和git
:
sudo dnf install curl git -y
2. 下载 nvm 安装脚本
由于直接访问 GitHub 可能较慢,可以使用国内的镜像源下载nvm
安装脚本。例如,使用gitee
镜像:
curl -o- https://gitee.com/mirrors/nvm/raw/master/install.sh | bash
3. 配置环境变量
安装完成后,将nvm
添加到环境变量中:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # 加载 nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # 加载 nvm 自动补全
为了使配置永久生效,可以将上述内容添加到~/.bashrc
或~/.zshrc
文件中:
echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.bashrc
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> ~/.bashrc
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"' >> ~/.bashrc
然后重新加载配置文件:
source ~/.bashrc
4. 验证安装
检查nvm
是否安装成功:
nvm --version
5. 安装 Node.js
使用nvm
安装 Node.js 时,可以指定国内的镜像源加速下载:
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
nvm install --lts
6. 设置默认 Node.js 版本
安装完成后,可以设置默认的 Node.js 版本:
nvm alias default <version>
例如:
nvm alias default 16
7. 验证 Node.js 安装
检查 Node.js 和 npm 是否安装成功:
node -v
npm -v
通过这些步骤,你可以在 AlmaLinux 8 上成功安装nvm
并管理 Node.js 版本。
[!info] 提问 -bash: sudo: command not found
sudo
命令未找到通常是因为系统没有安装sudo
包。在 AlmaLinux 8 上,可以通过以下步骤安装sudo
:
1. 切换到 root 用户
由于没有sudo
,你需要先切换到root
用户:
su -
输入root
用户的密码即可切换到root
。
2. 安装 sudo
使用dnf
包管理器安装sudo
:
dnf install sudo -y
3. 将当前用户添加到 sudoers 文件
安装完成后,将你的用户添加到sudoers
文件中,以便可以使用sudo
命令。
方法 1:使用usermod
命令
将用户添加到wheel
组(默认情况下,wheel
组有sudo
权限):
usermod -aG wheel <你的用户名>
例如,如果你的用户名是user1
,则运行:
usermod -aG wheel user1
方法 2:手动编辑/etc/sudoers
文件
使用visudo
命令编辑/etc/sudoers
文件:
visudo
在文件中找到以下行:
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
去掉%wheel
前面的#
注释符号,保存并退出:
%wheel ALL=(ALL) ALL
4. 验证 sudo 是否可用
退出root
用户,回到普通用户:
exit
然后测试sudo
命令:
sudo ls
如果系统提示输入密码并正常执行命令,说明sudo
已配置成功。
5. 继续安装 nvm
现在你 已经可以使用sudo
了,可以继续按照之前的步骤安装nvm
和 Node.js。
总结
- 切换到
root
用户。 - 安装
sudo
。 - 将你的用户添加到
sudoers
文件。 - 验证
sudo
是否可用。 - 继续安装
nvm
和 Node.js。 如果还有其他问题,请随时告诉我!