1,版本
dockers :1.13.1 ;nexus 3
2,安装
docker pull liumiaocn/nexus
3,启动
项目 | 详细 |
---|---|
Nexus UI | 8081 |
private repo | 8082 |
proxy repo | 8083 |
URL | http://192.168.20.71:8081/ |
docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 --name nexus liumiaocn/nexus
[root@master ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f3ef3fa410a4 liumiaocn/nexus "bin/nexus run" 24 hours ago Up 21 hours 0.0.0.0:8081-8083->8081-8083/tcp nexus
4,登录
URL: http://192.168.20.71:8081/
用户名:admin 密码:admin123 (默认)
5,配置
仓库类型
具体仓库类型主要分为hosted/proxy/group三种。具体含义如下:
项目 | 详细说明 |
---|---|
hosted | 本地存储,提供本地私库功能 |
proxy | 提供代理其他仓库的类型 |
group | 组类型,可以组合多个仓库为一个地址提供服务 |
创建blob
创建一个blob用于存放npm相关数据。
项目 | 详细说明 |
---|---|
Type | File |
Name | npm-repo-blob |
PATH | /nexus-data/blobs/npm-repo-blob |
建议实际项目中各个仓库根据具体情况决定是否要分别创建blob进行对应,此处进行演示就通篇使用一个blob
创建priavete仓库
创建一个Hosted的仓库作为private仓库,用于管理非npm社区的第三方包或者自己开发的内容。具体设定信息如下:
项目 | 详细说明 |
---|---|
类型 | npm(hosted) |
Name | npm-repo-hosted |
Blob store | npm-repo-blob |
其余Default设定即可
创建proxy仓库
创建一个proxy仓库,具体设定信息如下:
项目 | 详细说明 |
---|---|
类型 | npm(proxy) |
Name | npm-repo-proxy |
Remote Storage | https://registry.npmjs.org |
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 |
6,本地npm配置,验证版本
安装版本: node v10.9.0 npm 6.2.0
理论上来说,只要官方的tar.gz的文件名称格式不变,只需要改变脚本中的如下部分即可
其他版本参考地址:https://nodejs.org/en/download/current/
[root@master ~]# npm -v
6.2.0
[root@master ~]# node -v
v10.9.0
7,注意事项
国内tb地址:registry=https://registry.npm.taobao.org
默认配置查看:npm config list -l
临时修改源地址:npm install --registry=http://192.168.20.71:8081/repository/npm-repo-proxy/
永久修改:npm confige set registry=http://192.168.20.71:8081/repository/npm-repo-proxy/
npm 和 cnpm 命令相同,使用cnpm时默认使用tb源。
参考地址:
https://blog.csdn.net/liumiaocn/article/details/78510679
https://www.centos.bz/2018/03/%E5%9C%A8-centos-7-%E5%B9%B3%E5%8F%B0%E4%BD%BF%E7%94%A8-cnpmjs-org-%E6%90%AD%E5%BB%BA-npm-%E7%A7%81%E6%9C%89%E4%BB%93%E5%82%A8/
#安装脚本
#!/bin/sh usage(){
echo "Usage: $0 [node-xxx.tar.gz]"
echo " node-xx.tar.gz: specified file will be used. Default will download directly"
echo
} INSTALL_FLAG="NET"
FILE_SPECIFIED=$ if [ $# -eq ]; then
if [ ! -f ${FILE_SPECIFIED} ]; then
echo "File ${FILE_SPECIFIED} does not exist"
usage
exit
else
INSTALL_FLAG="LOCAL"
fi
fi FILE_VERSION=10.9.
FILE_TAR_GZ=node-v${FILE_VERSION}-linux-x64
DOWNLOAD_URL="https://nodejs.org/dist/v${FILE_VERSION}/${FILE_TAR_GZ}.tar.gz" DIR_INSTALL=/usr/local/npm date
echo "##Install Step 1: download binary file ..."
date
if [ _"LOCAL" = _"$INSTALL_FLAG" ]; then
echo " Install by using local tar.gz file specified, downloading is skipped..."
else
cd /tmp
wget ${DOWNLOAD_URL}
fi date
ls ${FILE_TAR_GZ}.tar.gz
echo echo "##Install Step 2: tar xvpf to unzip file ..."
date
mkdir -p /usr/local/npm
cd /usr/local/npm
tar xvpf /tmp/${FILE_TAR_GZ}.tar.gz
mv node* node
pwd
ls
date
echo echo "##Install Step 3: create link file"
date
ln -s /usr/local/npm/node/bin/npm /usr/local/bin/npm
ln -s /usr/local/npm/node/bin/node /usr/local/bin/node echo echo "VERSION CONFORM:"
npm -v
node -v