NVM简单使用及出现NVM安装后没有npm的解决方法。
NVM的简单使用
起因:今天在跑项目的时候,报各种错,最后找了一圈,是node版本不对的问题。不想重新安装node,下了nvm进行node版本管理,中间又遇到了一些问题。都详细来说说。
2022.3.29 重装了最新的nvm 1.1.19 ,不会出现nvm安装Node没有npm的情况。下面有NVM1.1.19下载地址
2024.5.17 修改npm的镜像地址,之前的淘宝镜像过期了
1.安装
github下载地址
- nvm-noinstall.zip: 这个是绿色免安装版本,但是使用之前需要配置
- nvm-setup.zip:这是一个安装包,下载之后点击安装,无需配置就可以使用,方便。
- Source code(zip):zip压缩的源码
- Sourc code(tar.gz):tar.gz的源码,一般用于Linux系统
这是我用的版本 1.1.6,上不去github的可以下
https://wws.lanzoub.com/igA1C025w11c
1.1.9版本的
https://wws.lanzoub.com/ipWCw028kxqf
2.使用
先nvm -v
查看是否安装成功。
然后设置镜像,不然下的很慢,在下载目录下,找到settings.txt
添加:
#node_mirror: https://npm.taobao.org/mirrors/node/
#npm_mirror: https://npm.taobao.org/mirrors/npm/
# 上面的淘宝镜像过期了
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
设置好镜像后,使用命令安装相应版本。
nvm install 版本号
我在这安装的是14.19.1版本的
然后使用命令切换版本,然后可以使用命令查询是否成功
nvm use 版本号
node -v #查询版本号
npm -v # 如果安装的nvm是1.1.16版本的可能会报错,继续往后看
3.其他
一般安装完后,对应版本号的目录中会有npm和npm.cmd
但是,有的目录下没有,使用npm会报错,显示’npm’ 不是内部或外部命令,也不是可运行的程序。
因为nvm安装node没有安装相应的npm。
但是,实际上,nvm是下载了的,可以在下载过程中看到,目录下创建了一个temp文件夹,但是不知道什么原因,没有拷贝到对应版本目录下。
所以只能手动下载。
npm下载地址: 过期的 https://npmmirror.com/mirrors/npm/(下载对应版本的zip文件)
node版本对应npm版本: https://nodejs.org/zh-cn/download/releases/
在这里,我下的是node是14.19.1,对应npm是6.14.16。
npm 6.14.16
然后将文件解压到版本对应的 node_modules目录下,改名成npm
最后将npm文件夹里面的bin目录下的npm和npm.cmd两个文件复制一份到对应node版本的根目录下。我这里是直接从压缩包的bin目录下复制出来的,方便展示。
最后查询
成功。
老邓子: 22年的文章,里面的镜像过期了。用这个试试node_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/
CSDNSUUS: 为啥14.19.1下载不了:Get "https://npm.taobao.org/mirrors/node/latest/SHASUMS256.txt": x509: certificate is valid for *.tbcdn.cn, *.taobao.com, *.alicdn.com, *.cmos.greencompute.org, cmos.greencompute.org, m.intl.taobao.com, *.mobgslb.tbcache.com, *.alikunlun.com, alikunlun.com, *.django.t.taobao.com, alicdn.com, *.tbcache.com, *.tmall.com, *.1688.com, *.3c.tmall.com, *.alibaba.com, *.aliexpress.com, *.aliqin.tmall.com, *.alitrip.com, *.aliyun.com, *.cainiao.com, *.cainiao.com.cn, *.chi.taobao.com, *.chi.tmall.com, *.china.taobao.com, *.dingtalk.com, *.etao.com, *.feizhu.cn, *.feizhu.com, *.fliggy.com, *.fliggy.hk, *.food.tmall.com, *.jia.taobao.com, *.jia.tmall.com, *.ju.taobao.com, *.juhuasuan.com, *.lw.aliimg.com, *.m.1688.com, *.m.alibaba.com, *.m.alitrip.com, *.m.cainiao.com, *.m.etao.com, *.m.taobao.com, *.m.taopiaopiao.com, *.m.tmall.com, *.m.tmall.hk, *.mei.com, *.taopiaopiao.com, *.tmall.hk, *.trip.taobao.com, *.xiami.com, 1688.com, alibaba.com, aliexpress.com, alitrip.com, aliyun.com
weixin_48323343: 感谢你!!!!!
@_@139: 还是需要手动下载npm,并且nvm use 的时候也失败了怎么办
一只萧萧猫: 可是我已经有一个nodejs16版本的,使用nvm use 14.9.1它会出现exit status 1: �ܾ����ʡ�,一个项目需要使用16,另一个需要使用14版本,这咋办