向歆纪

linux 安装 npm 私服(基于verdaccio)

有 N 人看过

搭建

使用的是 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

运行成功之后, 他会显示出很多警告,包含一些信息

  1. verdaccio 的配置文件,你可以去更改配置文件的某些配置
  2. http address , 以及他的版本

:::warning
虽然可以运行起来,但是由于我这里用的是虚拟机,并且发现他只能本地运行,后面看到别人记录了, 需要去他的 config 文件去配置 listen 配置一下

listen:0.0.0.0:4873
:::

使用

如果按正常的话, 这个页面你就可以在你本地进行查看 , 之后就是进行使用

  1. 安装使用 nrm
  2. 添加用户
  3. 进行登陆, 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 字段
:::

这一个 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 目录中
:::

参考