linux 安装 npm 私服(基于verdaccio)
搭建
使用的是 verdaccio , 用npm 搭建 。
npm i -g verdaccio
然后直接运行
verdaccio
warn --- config file - /root/.config/verdaccio/config.yaml
warn --- Verdaccio started
warn --- Plugin successfully loaded: verdaccio-htpasswd
warn --- Plugin successfully loaded: verdaccio-audit
warn --- http address - http://0.0.0.0:4873/ - verdaccio/4.8.1
运行成功之后, 他会显示出很多警告,包含一些信息
- verdaccio 的配置文件,你可以去更改配置文件的某些配置
- http address , 以及他的版本
:::warning
虽然可以运行起来,但是由于我这里用的是虚拟机,并且发现他只能本地运行,后面看到别人记录了, 需要去他的 config 文件去配置 listen 配置一下
listen:0.0.0.0:4873
:::
使用
如果按正常的话, 这个页面你就可以在你本地进行查看 , 之后就是进行使用
- 安装使用 nrm
- 添加用户
- 进行登陆, pubilsh
我们需要再客户端进行安装nrm 主要就是用来切换 npm 源,而且很方便
npm i -g nrm
安装完成之后我们就可以通过nrm,用来管理和查看npm源 , npm ls 就可以帮我们查出来所有可用的源 。
nrm ls
之后我们需要将我们的 源服务给添加到 npm 源中 , 这里是使用 nrm add
nrm add <源名称> <源服务(http://192.168.1.28:4873>
添加之后我们就可以将本地的npm 源切换成私仓源
nrm use <源名称>
之后我们就需要在本地 , npm adduser 在本地添加一个用户进行 publish
npm adduser
之后我们可以在我们写的项目里面进行 npm login 和 npm publish
:::warning
如果你的项目发布了多个源, 那么你的版本是会进行冲突的, 在publish 的时候会报错说你的版本已经存在了 , 请更改package.json的version 字段
:::
verdaccio 的 uplinks
这一个 uplinks 在 verdaccio 的 config.yaml 配置文件中 , 这里配置了, 如果在这个仓库中没有找到对应的包, 将会进行上一级进行下载
uplinks:
npmjs:
url: https://registry.npmjs.org/
在这里我们可以配置成 淘宝源, 这样的话就可以不用科学上网了。
uplinks:
npmjs:
url: https://registry.npm.taobao.org/
:::danger
这个 npmjs 不能为别的名字, 只能为 npmjs , 切记 , 不然会报出找不到其他模块的错误code为404
:::
:::warning
私仓的包存放地址在你配置文件的所在目录的 storage 目录中
:::