NPM私库搭建-verdaccio(Linux)
1、安装node
linux服务器安装node
- a)、官网下载所需的node版本
https://nodejs.org/dist/v14.21.0/
- b)、解压安装包
若下载的是xxx.tar.xz文件,解压命令为tar -xvf xxx.tar.xz
- c)、修改环境变量
修改:/etc/profile文件
#SET PATH FOR NODEJS
export NODE_HOME=NODEJS解压安装的路径
export PATH=$NODE_HOME/bin:$PATH
- d)、环境变量需重启生效
source /etc/profile
- e)、查看当前node版本
node -v
2、下载verdaccio
npm --registry https://registry.npm.taobao.org install -g verdaccio --unsafe-perm
--unsafe-perm
防止报grywarn权限的错--registry
是因为原来的私库崩了 这里直接指明仓库地址为淘宝镜像
3、修改配置文件
文件位置:/root/.config/verdaccio/config.yaml
如果找不到该文件,需要先运行verdaccio,直接执行verdaccio命令即可。
继续修改配置文件:vi /root/.config/verdaccio/config.yaml
在文件末尾追加:listen: 0.0.0.0:4873
注意:4873是verdaccio默认端口,如果遇到已被占用,自行修改。
(编辑文件操作简述:vi 打开文件,按Insert键,按PgDn翻到最后一页,方向键移动到最后一行,回车添加一行输入默认端口配置,按Esc键,输入:wq回车即可。)
4、启动verdaccio
输入命令:verdaccio
5、安装pm2守护verdaccio进程
一方面是守护进程,一方面让verdaccio在后台运行。
npm --registry https://registry.npm.taobao.org install -g pm2 --unsafe-perm
6、通过pm2启动verdaccio
pm2 start verdaccio
7、查看pm2守护下的verdaccio日志
pm2 show verdaccio
可以看到一些日志的存放地址:
- error log path │ /root/.pm2/logs/verdaccio-error.log
- out log path │ /root/.pm2/logs/verdaccio-out.log
方便出问题时候查看日志等信息。
8、切换私库登录并使用
- 查看npm仓库配置:
npm config ls
- 设置npm仓库地址:
npm set registry http://verdaccio所在服务器IP:4873/
- 将用户信息添加到npm仓库:
npm adduser --registry http://verdaccio所在服务器IP:4873/
- 查看当前用户:
npm who am i
若没有添加用户,是没法上传包到仓库的哦,但是可以下载包。
9、修改verdaccio配置文件
- 修改配置文件:
vi /root/.config/verdaccio/config.yaml
- 重启服务:
pm2 restart verdaccio
另外:
配置文件可以查看verdaccio仓库地址storage,默认为:/root/.local/share/verdaccio/storage
10、其他问题
10.1、上传包的时候遇到包太大了报错
参考请求过大时设置nginx的max_body_size属性。
需要修改verdaccio的max_body_size属性值,默认是10M。
讲道理,包太大了还是检查自己包压缩一下吧。
打开verdaccio配置文件:vi /root/.config/verdaccio/config.yaml
找到max_body_size属性,默认10mb视情况修改,忘了有没有注释掉这行,有的话删掉前面的#号,放开注释。
重启verdaccio:pm2 restart verdaccio
,可以看到列表中有个刷新的图标,刷新一次就在追加一次数值。
10.2、canvas包下载报错
查了一堆资料,说是下载canvas这类二进制的包的时候,会去github拿包,而github的网络连接有问题就会出现报错。
建议切换仓库地址为阿里云。
- 打开verdaccio配置文件:
vi /root/.config/verdaccio/config.yaml
- 修改uplinks下的npmjs下的url属性:
https://registry.npmmirror.com/
- 重启verdaccio:
pm2 restart verdaccio
但是,我这边有个现象是,修改成功了,本地下载canvas包正常,linux服务器下载还是报错。