欢迎光临
我们一直在努力

使用Nexus搭建npm私服

本文转载自:https://www.cnblogs.com/sanduzxcvbnm/p/13100534.html

PS:这个作者还整理了很多Nexus相关的文章,有问题可以多参考下

当我们运行前端项目的时候,常常在解决依赖的时候会加上一个参数npm install --registry=https://registry.npm.taobao.org将源指定为淘宝的源,以期让速度加快起来,事实上这种的确能够让速度变快,但是长久来看,如果想真正的快速敏捷开发部署,搭建企业内部的私服,则会让速度更上一个台阶。

搭建npm私服,我们依旧使用nexus3。

与其他私服一样的,npm私服同样有三种类型:

  • hosted : 本地存储,即同 docker 官方仓库一样提供本地私服功能
  • proxy : 提供代理其他仓库的类型,如 docker 中央仓库
  • group : 组类型,实质作用是组合多个仓库为一个地址

那么就来一个一个创建。

1. 创建blob存储

为其创建一个单独的存储空间。
使用Nexus搭建npm私服

2. 创建hosted类型的npm

  • Name: 定义一个名称local-npm
  • Storage:Blob store,我们下拉选择前面创建好的专用blob:npm-hub。
  • Hosted:开发环境,我们运行重复发布,因此Delpoyment policy 我们选择Allow redeploy。这个很重要!

使用Nexus搭建npm私服

3. 创建一个proxy类型的npm仓库

其他的均是默认。

整体配置截图如下:
使用Nexus搭建npm私服

4. 创建一个group类型的npm仓库

  • Name:group-npm
  • Storage:选择专用的blob存储npm-hub。
  • group : 将左边可选的2个仓库,添加到右边的members下。

整体配置截图如下:
使用Nexus搭建npm私服

这些配置完成之后,就可以使用了。

5. 验证使用

新建一台环境干净的主机,安装好node环境,然后拷贝一份前端项目的源码。

获取默认的仓库地址

# npm config get registry https://registry.npmjs.org/ 

配置为私服地址。

从如下截图中查看(其实就是创建的组对外的地址)。
使用Nexus搭建npm私服

通过如下命令配置:

# npm config set registry http://192.168.75.11:8081/repository/group-npm/ # npm config get registry http://192.168.75.11:8081/repository/group-npm/ 

现在开始安装,安装之前先看一下组里的内容:
使用Nexus搭建npm私服
可以看到还是空的。

安装编译

前端框架网址:https://wepyjs.github.io/wepy-docs/2.x/

npm install @wepy/cli -g 

在编译的过程中,我们已经可以看看组里的变化了:
使用Nexus搭建npm私服

再一次安装编译

这里再准备一台环境干净的主机,然后进行一次编译安装,看看效果。

编译之前,先将远程地址配置为我们自己的:

# npm config set registry http://192.168.75.11:8081/repository/group-npm/ # npm config get registry http://192.168.75.11:8081/repository/group-npm/ 

可以看到,同样是全新的环境下,因为第一次已经将依赖从远程缓存到本地私服,那么在第二次安装编译的时候,用时比首次快多了。

验证问题(npm 401)解决

很多时候,Nexus的设置是不允许匿名用户访问资源的。这种情况下就需要登录才能访问。使用下面的配置,就不需要每次登录。

首先使用管理员用户激活npm realms。

使用Nexus搭建npm私服

然后配置

# 根据提示输入用户/密码/邮箱 npm adduser --registry=私服地址 # 再设置仓库 npm config set registry http:私服地址 

官网还提供了另外一种解决方案,有兴趣的可以看下。

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《使用Nexus搭建npm私服》
文章链接:https://www.456zj.com/38008.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址