二丫讲梵 二丫讲梵
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

二丫讲梵

行者常至,为者常成
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • Nexus系列文章

    • 前言
    • nexus的安装
    • 使用nexus3配置docker私有仓库
    • 使用nexus3配置maven私有仓库
    • 使用nexus3配置npm私有仓库
      • 1,创建 blob 存储。
      • 2,创建 hosted 类型的 npm。
      • 3,创建一个 proxy 类型的 npm 仓库。
      • 4,创建一个 group 类型的 npm 仓库。
      • 5,验证使用。
        • 1,首先获取默认的仓库地址:
        • 2,配置为私服地址。
        • 3,安装编译。
        • 4,再一次安装编译。
    • 使用nexus3配置yum私有仓库
    • 使用nexus3配置Python私有仓库
    • 使用nexus3配置golang私有仓库
    • maven私服nexus2-14-5迁移到nexus3-7-1
    • maven上传jar包以及SNAPSHOT的一个坑
    • Gradel上传本地包的一些坑及注意点
    • go1-12与1-14之私服使用的差异与变化
    • 通过命令行往python私仓传包
    • 关于yum仓库往nexus私服传包等实践
    • 将maven本地包上传到nexus私服的实践
    • 将npm本地包上传到nexus私服的实践
    • nexus2.x升级到3.x之后仓库地址改变的问题探索
    • 关于gradle中plugins依赖未走私服导致编译失败的原因探析
  • Jenkins系列文章

  • ELK笔记

  • Kubernetes笔记

  • LLM专题

  • 系列专题
  • Nexus系列文章
二丫讲梵
2018-10-30
目录

使用nexus3配置npm私有仓库

文章发布较早,内容可能过时,阅读注意甄别。

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

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

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

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

那么就来一个一个创建。

# 1,创建 blob 存储。

为其创建一个单独的存储空间。

image

# 2,创建 hosted 类型的 npm。

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

image

# 3,创建一个 proxy 类型的 npm 仓库。

  • Name: proxy-npm
  • Proxy:Remote Storage: 远程仓库地址,这里填写: https://registry.npmjs.org (opens new window)
  • Storage: npm-hub。

其他的均是默认。

整体配置截图如下:

image

# 4,创建一个 group 类型的 npm 仓库。

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

整体配置截图如下:

image

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

申明

原创文章eryajf,未经授权,严禁转载,侵权必究!此乃文中随机水印,敬请读者谅解。

Copyright 二丫讲梵 (opens new window) 版权所有

# 5,验证使用。

新建一台环境干净的主机,安装好 node 环境。

首先通过curl 192.168.106.10/a | sh安装好 node 环境。

如果看不懂这是什么鬼,可以点击这篇文章了解:构建运维外挂。 (opens new window)

此脚本我已经开源在 GitHub 之中,感兴趣的同学可以点击下边跳转参观。

magic-of-sysuse-scripts

运维外挂小工具

- name: magic-of-sysuse-scripts
  desc: 运维外挂小工具
  avatar: https://avatars2.githubusercontent.com/u/416130?s=460&u=8753e86600e300a9811cdc539aa158deec2e2724&v=4 # 可选
  link: https://github.com/eryajf/magic-of-sysuse-scripts # 可选
  bgColor: "#0074ff" # 可选,默认var(--bodyBg)。颜色值有#号时请添加单引号
  textColor: "#fff" # 可选,默认var(--textColor)
1
2
3
4
5
6

然后拷贝一份前端项目的源码。

# 1,首先获取默认的仓库地址:

[root@moban business_jsdweb]$npm config get registryhttps://registry.npmjs.org/
1

# 2,配置为私服地址。

从如下截图中查看(其实就是创建的组对外的地址)。

image

通过如下命令配置:

[root@moban business_jsdweb]$npm config set registry http://192.168.112.214:8081/repository/group-npm/
[root@moban business_jsdweb]$npm config get registry
http://192.168.112.214:8081/repository/group-npm/
1
2
3

现在开始安装,安装之前先看一下组里的内容:

image

可以看到还是空的。

# 3,安装编译。

npm install
1

在编译的过程中,我们已经可以看看组里的变化了:

image

安装完成,整个过程如下,可以看到一共花费了82秒。

[root@moban business_jsdweb]$npm install

> uglifyjs-webpack-plugin@0.4.6 postinstall /root/business_jsdweb/node_modules/webpack/node_modules/uglifyjs-webpack-plugin
> node lib/post_install.js

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 1216 packages from 717 contributors in 82.171s
1
2
3
4
5
6
7
8
9

# 4,再一次安装编译。

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

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

[root@7-3 business_jsdweb]$npm config get registry
https://registry.npmjs.org/
[root@7-3 business_jsdweb]$npm config set registry http://192.168.112.214:8081/repository/group-npm/
[root@7-3 business_jsdweb]$npm config get registry
http://192.168.112.214:8081/repository/group-npm/
1
2
3
4
5

然后编译,看效果:

[root@7-3 business_jsdweb]$npm install

> uglifyjs-webpack-plugin@0.4.6 postinstall /root/business_jsdweb/node_modules/webpack/node_modules/uglifyjs-webpack-plugin
> node lib/post_install.js

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 1216 packages from 717 contributors in 31.693s
1
2
3
4
5
6
7
8
9

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

私服的重要性,以及便捷性,高下立见!

微信 支付宝
#nexus#npm
上次更新: 2024/07/04, 22:40:37
使用nexus3配置maven私有仓库
使用nexus3配置yum私有仓库

← 使用nexus3配置maven私有仓库 使用nexus3配置yum私有仓库→

最近更新
01
记录二五年五一之短暂回归家庭
05-09
02
学习周刊-总第210期-2025年第19周
05-09
03
学习周刊-总第209期-2025年第18周
05-03
更多文章>
Theme by Vdoing | Copyright © 2017-2025 | 点击查看十年之约 | 浙ICP备18057030号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式