linux/windows环境下 安装nodejs、npm、nvm

使用nvm管理Node.js版本
本文介绍如何使用nvm(Node Version Manager)来管理Node.js的多版本,包括在不同版本间切换、确保Node.js与npm兼容的方法。nvm支持在POSIX兼容的shell下运行,特别适用于Unix、macOS及Windows WSL。文章详细讲解了nvm的安装、使用及验证过程。

使用nvm安装nodejs

nodejs官网,强烈推荐使用nvm(node version manager)而不使用Node installer,这是因为nodejs安装过程会将npm安装到一个只有本地权限的文件夹,如果全局环境执行npm会引起权限错误。

We strongly recommend using a Node version manager to install Node.js and npm.We do not recommend using a Node installer, since the Node installation process installs npm in a directory with local permissions and can cause permissions errors when you run npm packages globally.

nvm是什么

nvm(node version manager)是nodejs的版本管理器,它专门用来给每个用户、每个shell安装nodejs。nvm可以运行在与POSIX兼容的shell(sh, dash, ksh, zsh, bash),尤其支持unix, macOS, and windows WSL.

linux安装nvm

安装nvm

执行以下任何一条命令,完成安装。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

以上命令会将nvm仓库拷贝到~/.nvm文件夹下,然后将一段nvm 脚本添加到(~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc)

验证nvm安装

执行以下命令

command -v nvm

这个命令应该会输出nvm。注意不要使用which nvm,因为nvm是一个shell function,而不是可执行的二进制。如果以上不输出任何内容,开一个新的terminal再试试,如果还不行就是安装失败了。

安装nodejs和npm

查看可安装的node版本

nvm list available

安装指定版本的node,

nvm install version

比如安装10.10.0版本的nodejs,它会自动安装与nodejs匹配的npm

nvm install 10.10.0

使用某版本

nvm use 10.10.0

下载某版本

nvm uninstall 10.10.0

执行以下命令,安装当前nodejs所支持的最新的npm版本

nvm install latest-npm

查看某版本nodejs的安装路径

nvm which version

比如查看10.10.0版本的安装路径

nvm which 10.10.0

执行以下命令,验证nodejs、npm安装

node -v
npm -v

windows版的nvm

windows版的nvm叫nvm-windows,下载nvm-setup.zip,双击安装就可以了,安装方法和验证方法跟linux一样。
在这里插入图片描述

总结

nvm是专门用来管理nodejs的多版本管理器,它可以在多个nodejs版本间切换,并且保证安装的nodejs和npm兼容,所以最好使用nvm安装nodejs、npm。

┌──(kali㉿kali)-[~/Downloads/antSword-master] └─$ npm install -g electron npm ERR! code EACCES npm ERR! syscall mkdir npm ERR! path /usr/local/lib/node_modules npm ERR! errno -13 npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules' npm ERR! at async mkdir (node:internal/fs/promises:858:10) npm ERR! at async /usr/share/nodejs/@npmcli/arborist/lib/arborist/reify.js:521:20 npm ERR! at async Promise.allSettled (index 0) npm ERR! at async [reifyPackages] (/usr/share/nodejs/@npmcli/arborist/lib/arborist/reify.js:234:11) npm ERR! at async Arborist.reify (/usr/share/nodejs/@npmcli/arborist/lib/arborist/reify.js:158:5) npm ERR! at async Install.exec (/usr/share/nodejs/npm/lib/commands/install.js:146:5) npm ERR! at async module.exports (/usr/share/nodejs/npm/lib/cli.js:133:5) npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules' npm ERR! at async mkdir (node:internal/fs/promises:858:10) npm ERR! at async /usr/share/nodejs/@npmcli/arborist/lib/arborist/reify.js:521:20 npm ERR! at async Promise.allSettled (index 0) npm ERR! at async [reifyPackages] (/usr/share/nodejs/@npmcli/arborist/lib/arborist/reify.js:234:11) npm ERR! at async Arborist.reify (/usr/share/nodejs/@npmcli/arborist/lib/arborist/reify.js:158:5) npm ERR! at async Install.exec (/usr/share/nodejs/npm/lib/commands/install.js:146:5) npm ERR! at async module.exports (/usr/share/nodejs/npm/lib/cli.js:133:5) { npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'mkdir', npm ERR! path: '/usr/local/lib/node_modules' npm ERR! } npm ERR! npm ERR! The operation was rejected by your operating system. npm ERR! It is likely you do not have the permissions to access this file as the current user npm ERR! npm ERR! If you believe this might be a permissions issue, please double-check the npm ERR! permissions of the file and its containing directories, or try running npm ERR! the command again as root/Administrator. npm ERR! A complete log of this run can be found in: npm ERR! /home/kali/.npm/_logs/2025-07-16T09_27_50_382Z-debug-0.log如何解决?
07-17
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值