内网npm私服(verdaccio)搭建及依赖包的上传

有互联网的电脑操作(win10)

前提条件

  • 安装nodeJS


注:有说使用npmbox做的,但是该项目已经停止维护,而且在无互联网的机器上运行仍然会去请求网络。所以这里没有使用npmbox。

安装verdaccio

npm install -g verdaccio

启动设置更新私服

# 启动
verdaccio
# 设置npm使用的源为本地私服
npm set registry http://localhost:4873/

下载及压缩相关包

进入到需要更新包的项目,如果有node_modules目录,先进行删除。执行命令更新包:

npm install

压缩目录 C:\Users\用户名\AppData\Roaming\verdaccio\ 得到 verdaccio.zip。

压缩目录 C:\Users\用户名\AppData\Roaming\npm 得到 npm.zip。

将 verdaccio.zip 、npm.zip 拷贝到无互联网的电脑。

 

无互联网的电脑操作(win7)

前提条件

  • 安装nodeJS

  • 安装nssm

  • 目录尽可能不要有空格,可能会导致nssm创建的系统服务无法启动。

解压相关包

将 npm.zip 解压到  C:\Users\用户名\AppData\Roaming\npm 。

将 verdaccio.zip 解压到 C:\Users\用户名\AppData\Roaming\verdaccio\ 。

检查下列文件或目录是否存在,并且内容不为空

文件:C:\Users\用户名\AppData\Roaming\npm\verdaccio

文件:C:\Users\用户名\AppData\Roaming\npm\verdaccio.cmd

目录:C:\Users\用户名\AppData\Roaming\npm\node_modules\verdaccio

文件:C:\Users\用户名\AppData\Roaming\verdaccio\config.yaml

目录:C:\Users\用户名\AppData\Roaming\verdaccio\storage

修改verdaccio配置文件

打开文件 C:\Users\用户名\AppData\Roaming\verdaccio\config.yaml

增加如下内容

# listen port
listen: 0.0.0.0:4873

 

创建服务

  1. 将nssm.exe添加到环境变量path中。

  2. 以管理员身份运行命令行。

  3. 执行命令

    nssm install verdaccio

    打开安装服务界面,必填到配置如下:

    其他配置可根据自己需要单独进行配置。

    全都填写完毕后选择 "install service"。

    nssm start verdaccio

    提示启动成功,则继续。

  • Path:C:\Program Files\nodejs\node.exe

  • Startup directory:C:\Users\用户名\AppData\Roaming\npm\

  • Arguments:C:\Users\用户名\AppData\Roaming\npm\node_modules\verdaccio\build\lib\cli.js -c C:\Users\用户名\AppData\Roaming\verdaccio\config.yaml

解除防火墙对verdaccio的端口限制

输入命令后回车,打开windows防火墙

firewall.cpl

选择“高级设置”

根据实际情况新建入站规则和出站规则。