服务端搭建部署
服务端系统和软件:
- CentOS:7.2 64位
- Node:v10.13.0
- Git
- nrm
- 安装cpmjs
nrm use taobao
npm install -g cnpm
git clone git://github.com/cnpm/cnpmjs.org.git /usr/local/cnpmjs.org
- 安装依赖
cd cnpmjs.org
npm install --build-from-source --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/mirrors/node
- 安装MySQL 略
- 配置MySQL
#登录MySQL
mysql -uroot -p
create database cnpmjs
use cnpmjs;
source /usr/local/cnpmjs.org/docs/db.sql
vim /usr/local/cnpmjs.org/config/config.js
config.js内容:
module.exports = {
debug: false,
enableCluster: true, // enable cluster mode
enablePrivate: true, // 只有管理员能发包
database: { // 必须和mysql配置一致
db: 'cnpmjs',
host: 'localhost',
port: 3306,
username: 'root',
password: 'mysqlpassword'
},
admins: {
yourname: 'youremail@yourhost.com',
},
syncModel: 'exist',// 'none', 'all', 'exist'
enableAbbreviatedMetadata: true,//如果过程中遇到不能同步或者下载模块则设置为true
bindingHost: '192.168.999.999',//如果使用nginx反向代理则不需配置
registryHost: '192.168.999.999:7001',// registry url name(模块下载请求地址,必须设置)
};
- 配置文件存储位置
本地存储:
cd /usr/local/cnpmjs.org/
npm install --save fs-cnpm
vim /usr/local/cnpmjs.org/config/config.js
config.js增加配置:
nfs: require('fs-cnpm')({
dir: path.join(dataDir, 'nfs')
}),
dataDir可配置为指定目录。
CDN存储:略
- 启动服务
#启动服务
npm run start
#查看服务状态
npm run status
#停止服务
npm run stop
客户端安装使用
客户端系统和软件:
- macOS:10.13.6
- Node:v10.13.0
- Git
- nrm
- 安装cnpmjs
nrm use taobao
npm install -g cnpm
- 配置私有仓库来源
nrm add yournpm http://192.168.999.999:7001
如果使用了nginx反向代理了服务端服务,则将这里配置的服务器地址改为代理到的地址和端口或域名网址。
- 配置管理员账号
#切换到私有仓库来源
nrm use yournpm
#添加管理员账号
npm adduser
接下来输入的账号信息中,Username和Email需要和服务端配置的admins中的一致。
4.发布和安装
#登录账号
npm login
接下来输入已经添加的管理员账号信息。
#发布私有包
npm publish --registry=http://192.168.999.999:7001
#安装私有包
npm install @mycompany/test -registry=http://192.168.999.999:7001
#同步私有包
npm sync @mycompany/test -registry=http://192.168.999.999:7001
创建快捷命令。
alias mynpm='cnpm --registry=http://registry.npm.example.com \
--registryweb=http://npm.example.com \
--userconfig=$HOME/.mynpmrc'