美文网首页
10分钟,手把手教你搭建一个npm私有库

10分钟,手把手教你搭建一个npm私有库

作者: wn777 | 来源:发表于2024-02-02 23:25 被阅读0次

开始之前

这里我们选取nexus作为npm私有仓库的服务
nexus功能丰富,可以提供代理仓库、宿主仓库,除了做npm仓库,还可以做maven,pypi等仓库。

nexus - 概念
hosted:本地仓库,通常用来存放自己编写的包,我们自己发的包放这里。
proxy:代理仓库,一般用于代理远程第三方的公共仓库。
group:用于聚合管理,如果内部包括了 hosted 和 proxy。首先会从 hosted 取,若无则从 proxy 取并缓存,下次则会从缓存取。

部署

1,启动nexus服务

部署nexus,我们选取docker 在本地或云服务器上部署。

docker run -d -p 8081:8081 --name nexus -v ${your_local_data_path}/:/nexus-data sonatype/nexus3

${your_local_data_path} 换成本地的路径,比如:/Users/xx/software/nexus/data。

2,创建仓库

服务启动后访问 http://localhost:8081/#admin/repository/repositories 点击创建,然后选取npm(hosted),进行创建。

创建仓库
npm(hosted) 填写仓库信息

3,设置权限

3.1 创建角色

按下图依次填下,

创建角色 填写信息

这里我们先把权限选大一点,所有npm库的读写权限,当然你也可以根据自身需求,限制读写权限,限制特定npm库。


设置角色权限

3.2 创建用户

角色创建好后,则可以创建一个用户,然后赋予用户角色。


创建用户

按图所示依次填写,并赋予角色。

填用户信息并设置角色

3.3 设置仓库npm权限

这里加一下关于npm的权限 ,也很简单,根据提示 把npm Bearer Token Realm 加到active即可。
nexus官方原文:This authentication method requires the npm Bearer Token Realm. Simply add the realm to the active realms in the Realms section of the Security menu from the Administration menu to activate it as documented in Realms. (refs: https://help.sonatype.com/en/npm-security.html)

可拖拽到active

使用

发包

我们发到这个仓库里

这里我们提前准备一个packname为@company-a/common的包(文末有对应代码 )。
发包很简单,命令如下yarn publish --registry=http://127.0.0.1:8081/repository/my-npm-repo/ --new-version 1.0.0 common,然后输入刚刚创建的用户账号和密码。

指令

然后进入仓库查看,嗒哒!🎉 新包上传上来了 。


引包

最后我们在试下安装下这个新包。

假设我们有个业务应用目录为app1,进入到app1目录下,修改.npmrc文件,要把@company-a的registry地址改为搭建的仓库地址 http://localhost:8081/repository/my-npm-repo/;

cd app1 && vim .npmrc

registry=https://registry.npmjs.org
@company-a:registry=http://localhost:8081/repository/my-npm-repo/

然后执行 yarn add @company-a/common@1.0.3,如下图安装成功!

13.png

至此,搭建nexus作为npm私有库服务器,然后发包,引包的全流程演示完毕。

快速搭建一个属于团队或者自己的私有库服务,就是这么简单。祝大家都可以敏捷开发,一切顺利!

示例源码参考

https://github.com/Wunan777/my_node_module/tree/main/nexus_package_demo

标签: npm, nexus, 私有库

相关文章

  • 搭建NPM私有库

    用Sinopia搭建私有库 搭建一个无需配置的本地npm仓库,你不必安装和复制整个CouchDB数据库。Sinop...

  • 手把手教你如何搭建iOS项目基本框架

    手把手教你如何搭建iOS项目基本框架 手把手教你如何搭建iOS项目基本框架

  • 私有npm服务器搭建

    私有npm服务器搭建 标签(空格分隔): Node.js 私有npm服务器搭建 本次搭建是在ubuntu环境下搭建...

  • 搭建私有npm服务器教程

    私有npm服务器搭建 标签(空格分隔): Node.js 私有npm服务器搭建 本次搭建是在ubuntu环境下搭建...

  • 前端架构之路(7) - 私有 npm 仓库

    私有 npm 仓库 1. “私有 npm 仓库” 有何用 组件化之后,搭建 “私有 npm 仓库” 是个不错选择。...

  • 搭建私有代码仓库服务器 Sinopia

    配置 私有仓库 在 CentOS 6 上配置私有 NPM 仓库 使用Sinopia搭建私有的npm仓库

  • cnpm私有库使用方法

    最近公司需要搭建一套公司自有的 npm 私有库, 于是用到了cnpm的解决方案 cnpm是企业内部搭建npm镜像和...

  • 搭建npm私有库工具

    sinopia (已不在维护) verdaccio(从sinopia frok代码继续维护) 网址:https:/...

  • verdaccio搭建私有npm库

    随着业务需求的增加,项目中出现了很多相同可以重复利用的组件,而这些组件又跟项目密切相关不能公开,所以根据这种情况可...

  • 手把手教你创建Framework

    上一篇文章《手把手教你创建静态库》教你如何创建静态库,这一片将“手把手”教你创建Framework,相对于静态库,...

网友评论

      本文标题:10分钟,手把手教你搭建一个npm私有库

      本文链接:https://www.haomeiwen.com/subject/wrgtadtx.html