NPM配置私服构建内网中央仓库过程详解

 更新时间:2022年08月09日 10:25:43   作者:llsydn  
这篇文章主要为大家介绍了NPM配置私服构建内网中央仓库过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

写在前面

目前大部分的项目,基本上都采用了前后端分离的框架。随着项目的不断做大做强,框架就会变得很庞大。

那么前端的框架,也是会变得不断的臃肿。不同的模块项目前端,可能有些公共的方法,都是共用一套的,那一般的做法就是每个模块都拷贝一份一样的代码。

那这样就会存在问题,如果有公共的方法需要修改,那所有的模块前端框架都得改,这是一个比较大的问题。

我们的java项目,就可以抽取公共的模块,使用maven进行管理;其实前端的框架,也是可以抽取公共的模块,使用npm进行管理。

那这里就涉及到公共模块包,要如何存放的问题了,这里就得有个npm模块仓库才行。

那这里就有个问题,我们自己公司开发得公共模块,不能够发布到外网得中央仓库吧?这个是会存在安全问题的,所以我们得有自己得一个仓库。

那这里就我们今天要讲得主要内容,使用nexus配置出npm私服。

好喽,废话不多说了,我们上正菜喽!!!

1. 概述

在目前的前端都分离开发时,我们也会将前端编译成组件的方式,实现在项目之间的重用。在很多情况下 我们可以将 组件发布到 npmjs.org网站,不过这个问题是网速慢是网速慢,同时发布到外网,总会存在一定的安全问题。

有时我们只是在团队内部使用,这样我们可以部署自己的私服。

nexus 就是一个私服管理的软件,他支持jar,也支持 npm的私服。

2. 部署nexus

nexus 这个软件之前是免费下载的,现在有商业版本和免费版本。我们可以网络上找到这些软件,建议使用3.22以上的版本。

将tar –xzf *.gz 软件解压,然后执行命令进行启动。

解压后我们可以看到:


解压出了两个目录

注意不要使用root 用户启动服务,我们可以创建一个用户

  • 添加用户
  • useradd nexus
  • 对目录进行授权
 chown -R nexus:nexus nexus-3.31.1-01
 chown -R nexus:nexus sonatype-work
 chmod -R 744 nexus-3.31.1-01
 chmod -R 744 sonatype-work
  • 使用nexus 用户启动
 su nexus
 cd nexus-3.31.1-01/bin
 //可以尝试以下命令启动
 ./nexus run //这个可以看到启动日志
 ./nexus start & //后端启动
  • 开放端口
/sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT

3. 几个概念

我们可以在私服上创建自己的库。

库分为三种类型:

3.1 代理

这种可以代理比如淘宝的镜像,这个数据块,而且通常能找到我们需要的包。

3.2 本地包

这个意思是,我们可以将私有的包发送到本地包。这个用于发布包。

3.3 包分组

这个是将本地包和代理进行组合,这个通常用来现在相关的包,这个用来下载包。

4. 配置NPM包

4.1 配置本地包

创建仓库

选择仓库类型

4.2 配置代理

这里我们配置的是代理淘宝。

4.3 配置包分组

4.4 配置好后我们就可以进行发布和下载

  • 配置使用私服

执行下面的命令,指定本地仓库。

npm config set registry http://***:8081/repository/npm_llsydn_hosted/
  • 登录私服

npm login

输入 nexus 的用户密码和有效登录。

使用私服进行安装

npm install --registry=http://***:8081/repository/npm_llsydn_group/

注意这里使用的是包分组,这个分包组包括了本地和代理的镜像。

发布组件包

直接使用 npm publish 进行发布。

4.5 遇到的问题

4.5.1 在登录的时候遇到的问题

执行npm login,输入正确的密码后报错如下:

Unable to authenticate, need: BASIC realm=”Sonatype Nexus Repository Manager”

解决办法:

4.5.2 登录报错

Unable to authenticate, need: BASIC realm=”Sonatype Nexus Repository Manager”

这个错误和上面的错误看上去是一样的。

这个错误,在其他人的机器登录又是可以的,解决办法 找到文件:.npmrc

可以清空到这个文件,然后再重试就可以了。

以上就是NPM配置私服构建内网中央仓库过程详解的详细内容,更多关于NPM配置私服内网中央仓库的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:

相关文章

  • nodejs获取表单数据的三种方法实例

    nodejs获取表单数据的三种方法实例

    在开发中经常需要获取form表单的数据,这篇文章主要给大家介绍了关于nodejs获取表单数据的三种方法,方法分别是form表单传递、ajax请求传递以及表单序列化,需要的朋友可以参考下
    2021-06-06
  • express如何使用session与cookie的方法

    express如何使用session与cookie的方法

    本篇文章主要介绍了express如何使用session与cookie的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Nodejs连接mysql并实现增、删、改、查操作的方法详解

    Nodejs连接mysql并实现增、删、改、查操作的方法详解

    这篇文章主要介绍了Nodejs连接mysql并实现增、删、改、查操作的方法,结合实例形式详细分析了nodejs针对mysql数据库的的连接、mysql数据库的创建及nodejs针对mysql增删改查等相关操作具体实现技巧,需要的朋友可以参考下
    2018-01-01
  • 你应该知道的几类npm依赖包管理详解

    你应该知道的几类npm依赖包管理详解

    npm 是node.js 里的包管理器,是一个命令行工具,下面这篇文章主要给大家介绍了关于你应该知道的几类npm依赖包管理,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-10-10
  • node.js中的fs.lstatSync方法使用说明

    node.js中的fs.lstatSync方法使用说明

    这篇文章主要介绍了node.js中的fs.lstatSync方法使用说明,本文介绍了fs.lstatSync的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • nodejs开发微博实例

    nodejs开发微博实例

    本文给大家分享的是使用node.js实现开发微博的实例,主要是看了nodejs开发指南之后发现书上的代码很多已经不能用了,原因是express版本升级了,所以今天就尝试着吧开发微博的实例也升下级,推荐给大家。
    2015-03-03
  • 浅探express路由和中间件的实现

    浅探express路由和中间件的实现

    这篇文章主要介绍了浅探express路由和中间件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • NodeJS使用递归算法和遍历算法来遍历目录的方法

    NodeJS使用递归算法和遍历算法来遍历目录的方法

    遍历目录是操作文件时的一个常见需求,比如写一个程序,需要找到并处理指定目录下的所有JS文件时,就需要遍历整个目录,NodeJS遍历目录可以使用递归算法、遍历算法,遍历算法又分为同步遍历、异步遍历两种,本文介绍NodeJS使用递归算法和遍历算法来遍历目录的方法
    2023-11-11
  • NodeJs 模仿SIP话机注册的方法

    NodeJs 模仿SIP话机注册的方法

    这篇文章主要介绍了NodeJs 模仿SIP话机注册的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • nodejs学习笔记之路由

    nodejs学习笔记之路由

    因为只是用于本地服务器用于自己测试用,所以不需要太完善的路由功能,所以也就不去使用express框架,而是自己实现一个简易路由,可以针对自己的需求来定制路由功能。
    2017-03-03

最新评论