共计 1770 个字符,预计需要花费 5 分钟才能阅读完成。
一、基于NodeJS和sinopia搭建
- 安装依赖sinopia
项目地址: https://github.com/rlidwka/sinopia
npm install -g sinopia
- 启动sinopia
默认启动方式sinopia
本地默认服务器地址是http://localhost:4873/
;
但这样只能通过本机进行访问,如果想要通过远程访问你的npm服务器;需要指定端口启动方式,建议使用本机的ip地址sinopia -l 172.0.0.1:8081
- 创建用户
npm adduser –registry http://172.0.0.1:8080;
npm adduser –registry http://localhost:4873; - 创建npm包
a.初始化npm包npm init
初始化package为:
{
"name": "test",
"version": "1.0.0",
"description": "test",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"test"
],
"author": "5******@qq.com",
"license": "ISC"
}
b.发布npm包
npm publish --registry http://172.0.0.1:8080
npm publish --registry http://localhost:4873
c.安装npm包
npm login --registry http://172.0.0.1:8080
npm install --registry http://172.0.0.1:8080 test --save
二、使用cnpm搭建私有NPM仓库
依赖 Node MySQL Redis qiniu CND (或其他CDN)
获取代码
git clone git://github.com/fengmk2/cnpmjs.org.git $HOME/cnpmjs.org && cd $HOME/cnpmjs.org
创建MySQL表:mac安装mysql的两种方法(含配置)
mysql -u root -p
mysql> use cnpmjs
mysql> source docs/db.sql
然后编写配置文件config/config.js
:
module.exports = {
debug: false,
enableCluster: true, // enable cluster mode
mysqlServers: [{
host: 'localhost',
port: 3306,
user: 'cnpmjs',
password: 'cnpmjs123',
}],
mysqlDatabase: 'cnpmjstest',
redis: {
host: 'localhost',
port: 6379,
},
nfs: null, //use your own CND here
enablePrivate: true, // enable private mode, only admin can publish, other use just can sync package from source npm
admins: {
admin: 'admin@cnpmjs.org',
},
syncModel: 'exist'
};
安装依赖 npm install
启动 npm run start
Starting cnpmjs.org …
Start nodejs success. PID=27175
好了,部署完成!
客户端设置
服务跑起来之后,需要在自己的电脑上配置下客户端。
首先安装cnpm客户端:npm install -g cnpm
在自己的脚本的启动文件(例如.zshrc或.bashrc)中添加别名:
echo "#lnpm alias\nalias lnpm='cnpm --registry=http://localhost:7001\
--registryweb=http://localhost:7002\
--cache=$HOME/.npm/.cache/lnpm\
--userconfig=$HOME/.lnpmrc'" >> $HOME/.zshrc && source $HOME/.zshrc
注意用自己的仓库信息替换上面命令的相关部分。
参考链接:使用CNPM搭建企业内部私有的NPM库
正文完