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