npm cache by npm-shrinkwrap.json
npm install npm_cache_share#### client端
1. 安装node.js环境,可以上官网自行安装,版本 ≥0.12
2. 安装npm_cache_share,npm install -g npm_cache_share
3. 根据场景执行 ncs install [options],可参见 指令
#### 中央公共服务
1. 安装node.js环境,可以上官网自行安装,版本 ≥0.12
2. 安装npm_cache_share,npm install -g npm_cache_share
3. 启动服务 ncs server [options], 可参见 中央公共服务
``
Usage:
Commands:
server 将会启动公共缓存服务,一般用做多台机器共享缓存模块,会在指令执行路径下生成npm_cache_share文件夹来存放缓存
install 进行依赖安装,会依赖npm-shrinkwrap.json文件来安装模块(如果不存在则使用npm install)
clean 清除缓存,需要指定是客户端,还是服务端,默认是清除客户端缓存目录
config 配置选项默认值,可set,get,list大部分option,也可以通过~/.npm_cache_share_config.json手动修改这些配置,会影响所有指令
publish 发布一个包到中央缓存
upload 上传一个静态资源到swift仓库
download 从swift仓库下载一个静态资源
swift swift仓库操作,目前支持查询对象是否存在,删除对象功能。
help 帮助说明
Options:
-V,--version 打印当前版本信息
-d,--debug 打印所有调试信息
-h,--help 显示该条命令的帮助信息
-g,--config 读取指定的配置文件
of 'server'
-s,--storage 指定中央缓存类型,目前有localfile和swift
-c --storageConfig 指定中央缓存配置,localfile为"[存储目录路径]",swift为"[HOST\|USER\|TOKEN]"
-p,--port 指定公共缓存服务的端口,使用如 npm_cache_share server --port 9999
-f,--useFork 强制使用fork方式启动(如果检测到本地pm2会自动使用pm2启动服务)
-t,--token 指定服务的令牌token,用于校验用户上传权限
-i,--i 适用于pm2启动服务,指定进程数目
-n,--name 适用于pm2启动服务,指定服务名称
of 'install'
-e,--repository 指定公共缓存服务仓库,由HOST:PORT/NAME构成
-r,--registry 指定安装的源, 使用如 npm_cache_share install --registry 源
-t,--token 仅type=node,指定公共服务上传所需要校验的token
-a,--auth 仅type=nexus,指定nexus账户(username:password)
-n,--npm [npm] 可指定npm的安装路径来执行npm指令,用于指定特定版本的npm
-p,--production,--noOptional,--save,--save-dev 同npm安装
-f,--forcenpm 安装模块时强制使用npm,即使本地安装了yarn
--ignoreBlackList 安装时忽略服务器的黑名单
--checkSnapshotDeps 安装时检查依赖中是否存在SNAPSHOT版本的模块
of 'clean'
-s,--forServer 指定当前运行环境是在公共缓存服务上,使用如 npm_cache_share clean --forServer
of 'publish'
-c,--type 指定公共缓存服务类型,目前有node(默认)与npm(需要提前npm login)
-e,--repository 指定公共缓存服务仓库,由HOST:PORT/NAME构成
-t,--token 仅type=node,指定公共服务上传所需要校验的token
-p,--password 每个包上传时可以设置一个密码,覆盖该包时必须使用该密码
-s, --snapshot 作为快照版本上传,发布始终覆盖,安装始终更新,忽略本地缓存
-u, --alwaysUpdate 覆盖服务器上同名版本(在单机服务的情况下安装会始终更新,忽略本地缓存),version内容不变
-o, --override 如果指定-s参数,则会将新的version更新文件信息,默认不更新
-v, --moduleVersion 指定发布版本号
--checkSnapshotDeps 发布时检查依赖中是否存在SNAPSHOT版本的模块
of 'upload','download','qupload','qdownload'
-h, --host swift仓库的地址
-u, --user swift仓库的账户
-w, --pass swift仓库的密码
-c, --container 需要上传/下载的目标容器
-f, --forceUpdate 该参数只有qupload和upload使用,会覆盖服务器上同名版本
-a, --auto 该参数只有qupload和qdownload使用,为true则通过package.json里的信息来指定container,否则就通过container参数或者全局配置文件里resourceSwift来指定
-z, --compressType 指定压缩方式,zip或者tar,默认为tar
of 'swift' 提供简单的swift操作,目前支持query和delete
-h, --host swift仓库的地址
-u, --user swift仓库的账户
-w, --pass swift仓库的密码
-c, --container 需要上传/下载的目标容器
``