Verdaccio搭建内网npm私有化仓库并发布私有包

2,595 阅读2分钟

Verdaccio搭建需要node环境不多讲述,有些我们安装的内网无法连接到互联网,我们可以将需要的包在外网环境下载传至内网环境下执行。我们以外网环境为例。

Verdaccio 官网: verdaccio.org/docs/en/ins…

1. 使用命令行全局下载

npm install -g verdaccio --unsafe-perm

加上–unsafe-perm的原因是防止报grywarn权限的错

直接执行上面命令会下载最新版本的Verdaccio,当前linux可能某些库安装过低而安装失败,或者在移到内网安装失败报错或如下图。 出现这种问题的时候,如对版本无硬性要求的话可以去Verdaccio 官网翻一翻以前的版本下载解决。例如:npm install -g verdaccio@3.8.0 --unsafe-perm

2. 启动

Verdaccio 命令启动

4873表示默认的本地端口,可通过修改配置文件来修改端口。此时在浏览器中输入http://localhost:4873/,可见下面页面

终端打印信息

这样表示我们Verdaccio已经安装成功

Verdaccio默认是localhost,要使用ip给其它电脑访问,可在config.yaml 文件中添加一行 listen: 0.0.0.0:4873 ,在Verdaccio启动的第一行有config.yaml的地址,编辑文件在最后一行加入listen: 0.0.0.0:4873

这样可以在其他电脑上设置仓库地址 npm set registry http://ip:4873/

3.使用pm2 守护verdaccio进程

全局安装

npm install -g pm2 --unsafe-perm

使用pm2 启动Verdaccio

pm2 start verdaccio

pm2是node进程管理工具,pm2守护Verdaccio 可以避免服务被错误关闭,进程被中断的情况。

4.注册账号

先将本地仓库指向我们创建的私有仓库

npm set registry http://localhost:4873/

执行npm adduser  注册账号,根据提示填写 用户名 密码和邮箱地址

登陆账号 npm login 输入上面注册的信息

使用 npm who am i  命令验证是否登录成功

5.创建发布私有包

我们进入到一个创建好的目录下

在此目录下我们创建两个文件 a.js 和b.js

a.js

hello= function(name){
  console.log("Hello "+ name);
};

exports.hello=hello

b.js

var a=require('./a');
a.hello('world!')

可以使用node测试一下

在当前根目录下执行npm init 命令 可以设置 包名,版本,入口文件,作者等信息

等上面完成之后 执行 npm publish 命令

这样我们就把我们自己创建的私有包发布到我们的私有仓库上了

回到Verdaccio页面会发现我们的包已经在界面上展示出来了

6.验证私有包

随意切换一个目录 执行 npm install npm_demo 安装 并使用node验证

安装执行成功。

若是想要删除私有包 npm unpublish 包名 --force