如何用Verdaccio搭建一个企业级私有Npm库

开发 项目管理
当公司项目做得比较多的时候,我们就会自己孵化出一套内部的业务组件库,这些企业级的组件我们并不想上传到公共的npm仓库.

前沿

当公司项目做得比较多的时候,我们就会自己孵化出一套内部的业务组件库,这些企业级的组件我们并不想上传到公共的npm仓库,这个时候企业级私有npm就比较重要了,Verdaccio可以非常简单,且零配置的帮我们搭建企业级私有npm库

官网地址:https://verdaccio.org/
// 目前github的star是13K
github地址:https://github.com/verdaccio/verdaccio



安装

// 全局安装
npm install -g verdaccio
// 安装完verdaccio后
// 命令行执行verdaccio,我们看到如下结果
verdaccio



verdaccio结果

从上面的截图我们看到verdaccio已经零配置安装成功了,并且输出了它的配置文件位置、启动的服务地址等信息,默认是在4873端口启动,我们在浏览器中输入http://localhost:4873,就可以看到默认启动界面。

启动界面

配置修改

我们打开

/Users/storm/.config/verdaccio/config.yaml目录下的文件,以下是我整理的默认的配置

storage: ./storage
plugins: ./plugins
web:
title: Verdaccio
auth:
htpasswd:
file: ./htpasswd
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@*/*':
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
'**':
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
server:
keepAliveTimeout: 60
middlewares:
audit:
enabled: true
logs:
- { type: stdout, format: pretty, level: http }


我们主要修改packages这个属性,目前是所有人都可以访问,然后注册过的人可以上传npm包的,$all代表没有任何限制,$authenticated代表注册过的人。

packages:
'@*/*':
access: $authenticated
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
'**':
access: $authenticated
publish: $authenticated
unpublish: $authenticated
proxy: npmjs


通过以上的配置,这样就只有团队注册过的人,才有权限访问了。

基本使用

// 注册用户,按操作提示,一步一步完成
npm adduser --registry http://localhost:4873/
// 指定本地npm的源为私有库
npm set registry http://localhost:4873/
// 或者安装依赖的时候,指定私有库安装
npm install --registry http://localhost:4873


后面的发布npm包,登录这些的操作就和公网npm一样的操作流程。

责任编辑:姜华 来源: 今日头条
相关推荐

2019-03-05 12:56:41

APP企业级应用应用程序

2019-07-29 09:37:44

海量数据企业级私有云

2010-03-08 17:20:56

搭建私有云

2018-12-18 12:12:51

Python服务器Django

2014-05-12 11:00:42

红帽

2016-10-12 17:18:26

私有云持续交付华为

2023-02-26 01:37:57

goORM代码

2017-05-02 11:30:44

JavaScript数组惰性求值库

2022-08-14 08:29:21

npmNode

2012-05-15 15:21:29

企业级

2021-05-25 11:11:39

机器学习

2018-03-12 16:48:18

微信

2017-01-12 20:37:03

公共云云存储云计算

2013-02-25 14:20:14

企业级移动应用移动互联网

2016-03-04 11:48:03

华云数据

2018-03-23 10:00:34

PythonTensorFlow神经网络

2016-09-06 19:45:18

javascriptVue前端

2011-08-19 16:03:57

无线网络

2012-06-14 13:23:32

企业级移动应用移动信息化
点赞
收藏

51CTO技术栈公众号