环境:
- centos 7.4
- node.js v8.11.3
- jdk-8u171 1.8.0_171
- nexus 3.12.1-01
一、部署JDK
使用rpm包方式
rpm -ivh jdk-8u171-linux-x64.rpm
配置JDK环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin
加载环境变量
source /etc/profile
命令行执行java -version
验证,显示版本说明成功
二、部署node.js
使用二进制包方式
创建/data目录,稍后用于存放node.js
mkdir /data
下载、解压node.js二进制包,拷贝到/data目录并重命名
wget https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz
tar xf node-v8.11.3-linux-x64.tar.xz
cp -a node-v8.11.3-linux-x64 /data/node-v8.11.3
配置node.js环境变量
vi /etc/profile
export NODE_HOME=/data/node-v8.11.3
export PATH=$NODE_HOME/bin:$PATH
加载环境变量
source /etc/profile
命令行执行node -v
验证,显示版本说明成功
三、部署nexus
下载地址:nexus-3.12.1-01-unix.tar.gz
创建/data/npm_repository目录,稍后用于存放nexus
mkdir /data/npm_repository
解压nexus二进制包,移动到/data/npm_repository目录
tar xf nexus-3.12.1-01-unix.tar.gz
mv nexus-3.12.1-01 sonatype-work /data/npm_repository/
配置环境变量
vi /etc/profile
export RUN_AS_USER=root
加载环境变量
source /etc/profile
编写nexus重启脚本
vi restart-NpmRepository.sh
#!/bin/bash
/data/npm_repository/nexus-3.12.1-01/bin/nexus restart
执行脚本启动nexus,默认端口8081,默认账号:admin 密码:admin123
sh restart-NpmRepository.sh
四、配置nexus npm仓库
浏览器访问 http://47.96.233.16:8081, 登陆默认账号密码
点击小齿轮进入配置界面
设置认证
点击Security->Realms,将npm Bearer Token Realm添加到右边,点击save保存
添加npm仓库
npm仓库分三种:
- Proxying npm Registries
npm代理库,从共有库下载依赖包后会缓存一份在本库,以后再下载时,直接从代理库下载 - Private npm Registries
npm私库,用于上传自己的包及第三方包 - Grouping npm Registries
将多个代理库、私库统一为一个仓库组,这样既可以访问公有库,又可以访问私库
点击Repository->repositoris->create repository
创建npm代理库,点击npm(proxy),设置如下,最后点击Create repository
创建npm私库,点击npm(hosted),设置如下,最后点击Create repository
创建npm库组,点击npm(group),设置如下,把刚才创建的npm代理库、npm私库添加到右边,最后点击save保存
配置npm使用nexus仓库
####设置npm使用npm库组
npm config set registry http://47.96.233.16:8081/repository/npm-group/
该命令会在当前用户的家目录下生成.npmrc文件,也可以手动编辑
[root@yunwei-test ~]# cat .npmrc
registry=http://47.96.233.16:8081/repository/npm-group/
通过nexus安装包
安装一个包试试效果,可以看到地址是走的我们部署的nexus仓库
npm --loglevel info install react
发布到npm私库
先创建一个nexus账号,稍后需要登陆使用,填写好资料后点击create local user
使用Realm认证和登陆
npm login --registry=http://47.96.233.16:8081/repository/npm-hosted/
发布前提在执行npm命令的目录下有package.json文件,可以npm init
生成
官方文档建议在package.json中加入如下内容,实际测试不加也可以
"publishConfig" : {
"registry" : "http://47.96.233.16:8081/repository/npm-hosted/"
},
执行发布
npm publish --registry=http://47.96.233.16:8081/repository/npm-hosted/
页面浏览npm仓库
npm代理库缓存的包
npm私库自己上传的包
从nexus删除
npm deprecate --registry=http://47.96.233.16:8081/repository/npm-hosted/ mytest@1.0.0 ""
标签:NPM,npm,node,CentOS,repository,nexus,全攻略,HOME,data
From: https://blog.csdn.net/biyanjiangdu04942/article/details/145243615