IT序号网

mac 安装配置使用nexus3.x知识解答

developer 2021年05月25日 编程语言 171 0

一.nexus安装

前置条件 :已经安装了JDK

1:下载nexus(IT虾米网) 最新版本3.0,下载目录为/Users/newuser/Downloads/

2:   在终端输入/Users/newuser/Downloads/nexus-3.13.0-01-mac/nexus-3.13.0-01/bin/nexus start

3.   在浏览器中输入IT虾米网,如果能打开如下页面,说明启动成功

二.nexus搭建npm服务

环境

  • Contos 7
  • Nexus 3.10
  • npm 5.5.1

创建npm私库

  • 通过浏览器访问Nexus: 
    http://服务器IP:8081

  • 点击右上角进行登录,初始用户名和密码为:

admin 
admin123

点击设置界面,选择Repositories,点击Create repository,如下图所示: 

这里写图片描述

创建blob 
创建一个blob用于存放npm相关数据

项目 详细说明
Type File
Name npm-repo-blob
PATH /usr/local/sonatype-work/nexus3/blobs/npm-repo-blob

建议实际项目中各个仓库根据具体情况决定是否要分别创建blob进行对应,此处进行演示就通篇使用一个blob

- 选择仓库类型,这里Docker有三种类型,分别是group、hosted、proxy。

项目 详细说明
hosted 本地存储,提供本地私库功能
proxy 提供代理其他仓库的类型
group 组类型,可以组合多个仓库为一个地址提供服务

以proxy类型,所以选择npm(proxy),如下图: 

这里写图片描述

- 创建proxy仓库

项目 详细说明
类型 npm(proxy)
Name npm-repo-proxy
Remote Storage IT虾米网
Blob store npm-repo-blob


注意:此处的Remote Storage即为可以连接的npm的registry的地址,需要保证正确,并且当前机器能够访问到,比如可以使用curl确认:

[root@angular ~]# curl https://registry.npmjs.org 
{"db_name":"registry","doc_count":715000,"doc_del_count":344,"update_seq":8090315,"purge_seq":0,"compact_running":false,"disk_size":5368389766,"data_size":3541008450,"instance_start_time":"1510668164237911","disk_format_version":6,"committed_update_seq":8090315}[root@angular ~]# 

注意此处,可以还设定与社区相关的账号和密码等信息进行进一步连接。

在这里是采用淘宝镜像,如下图: 

这里写图片描述

最后点击下方Create repository完成创建仓库。

创建priavete仓库

创建一个Hosted的仓库作为private仓库,用于管理非npm社区的第三方包或者自己开发的内容。具体设定信息如下:

项目 详细说明
类型 npm(hosted)
Name npm-repo-hosted
Blob store npm-repo-blob

其余Default设定即可 

创建group仓库

创建一个group仓库,具体设定信息如下:

项目 详细说明
类型 npm(group)
Name npm-repo-group
Blob store npm-repo-blob
Member repositories npm-repo-hosted
Member repositories npm-repo-proxy

本地npm设定

验证用npm版本

[root@angular ~]# npm -v 
5.5.1 
[root@angular ~]# node -v 
v9.1.0 
[root@angular ~]# 

设定.npmrc

可以使用如下命令,也可直接修改.npmrc文件

[root@angular ~]# npm config set registry http://localhost:8081/repository/npm-repo-proxy/ 
[root@angular ~]#
 
//确认.npmrc
[root@angular ~]# cat ~/.npmrc 
registry=http://localhost:8081/repository/npm-repo-proxy/ 
[root@angular ~]# 

确认

至此,Nexus的设定准备基本就绪,可以确认结果了。

事前确认

[root@angular ~]# npm list -g gulp 
/usr/local/npm/node/lib 
└── (empty) 
 
[root@angular ~]# 

安装gulp

打开loglevel将其设定为info,在安装的过程中可以看到npm http fetch与新创建的proxy仓库的交互,因为其会将相关的依赖下载到本地nexus的npm私库中。

[root@angular ~]# npm -loglevel info install -g gulp 
npm info it worked if it ends with ok 
npm info using npm@5.5.1 
npm info using node@v9.1.0 
... 
npm http fetch GET 200 http://192.168.163.151:8081/repository/npm-repo-proxy/gulplog/-/gulplog-1.0.0.tgz 4439ms 
... 
/usr/local/npm/node/bin/gulp -> /usr/local/npm/node/lib/node_modules/gulp/bin/gulp.js 
... 
npm info lifecycle gulp@3.9.1~postinstall: gulp@3.9.1 
+ gulp@3.9.1 
added 186 packages in 143.59s 
npm info ok  
[root@angular ~]# 

结果确认

[root@angular ~]# npm list -g gulp 
/usr/local/npm/node/lib 
└── gulp@3.9.1  
 
[root@angular ~]# 

group仓库确认

gulp 3.9.1已经通过group仓库可以看到 

这里写图片描述

proxy仓库确认

gulp 3.9.1已经通过proxy仓库可以看到

这里写图片描述


发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

用sinopia搭建内部npm服务知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。