ynpm是一款基于用友内部的镜像库,为用友内部打造一个优质的代码共享平台、业务组件的多样性、组件能力最大化的输出。把各种组件、工具的能力快速输出到各个项目中,提高项目的开发速度、节省项目成本、从而实现组件价值最大化、利益的最大化。
  ynpm还提供组件的上传、下载的以及热门组件的统计。进行有针对性的进行组件优化和能力的持续集成。
- 根据用户网络进行自动匹配、自动切换、内网快速下载
 - 镜像无需同步,下载即缓存,实现一次下载,全员共享
 - 安全可靠,友互通域账号权限校验
 - 内网发包配置简单、融合
github设置sshk模式 - 提供强大的
cli工具、模块化的实现、快速融合其他cli工具 - 不对
npm的镜像源入侵 
- 使用 Nexus Repository OSS 构建镜像
 - 使用自己独立的数据存储、资源包做统计
 - 使用
koa+node做中间层做请求转发和校验机制 - react开发独立的官网站点
 
请确认你在本地全局安装了
Node.js,然后使用npm将ynpm全局安装:
$ npm install ynpm-tool -g	
# 安装到dependencies依赖的包 
$ ynpm install @yonyou/xxx --save
# 安装到devDependencies依赖的包 
$ ynpm install xxx --save-dev
也可以直接使用简写:
$ ynpm i @yonyou/xxx -S
显示ynpm的帮助信息;
$ ynpm -h
- 设置 ynpm
 
用户名必须是登录友互通的用户名
$ ynpm set user=xxx
邮箱必须是登录友互通的邮箱或者手机号
$ ynpm set email=xxx
显示sshk(不显示sshk见QA)
2. 复制sshk登陆官网-->选择头像-->选择设置sshk (如图)
3. 发布
$ cd xx_component && ynpm publish
显示finish xx_component 表示成功
package.json 必填项
- 
name :模块名称,内部包统一用(@yonyou/xx)作为前缀
 - 
homepage :组件主页url,eg: http://xx.git#redme
 - 
author :作者
 - 
repository :指定一个代码存放地址。string or {}
 
repository:'https://xxx.git' 
repository:{'url' : 'https://xxx.git'}
| 命令 | 说明 | 使用 | 
|---|---|---|
| install / i | 安装包 | ynpm install | 
| update | 更新包 | ynpm update | 
| show | 显示包信息 | ynpm show | 
| list | 显示当前安装报的版本 | ynpm list | 
| reinstall / rei | 重装包 | ynpm rei | 
| sync | 同步npm包到ynpm | ynpm sync | 
| publish | 发布包到ynpm | ynpm publish | 
| set | 设置ynpm的用户名 | ynpm set user/email | 
| version | 查看ynpm版本 | ynpm -v | 
| help | 查看帮助 | ynpm -h | 
| sshk | 查看sshk | ynpm sshk | 
- 
下载包极慢,报错timeout
根据反馈,少数包会报错。原因是安装包依赖一个外链下载(可能是github或amazon等第三方地址)。因为众所周知的原因,你很有可能下载不到从而出现timeout(相同的问题cnpm也会存在).
 - 
install 的时候出现 401 权限问题
 
请执行
 rm -rf ~/.ynpmrc
- 
发包出现 400、401 的情况
请重新 set 用户名、密码以及设置sshk
 - 
windows电脑sshk不显示
window电脑请使用
git bash窗口模式,执行cat ~/.ynpmrc # _auth后面的就是sshk 
