项目初始化
> mkdir my-cli-dev # 创建项目文件
> npm init -y # 在项目目录下初始化
> npm i -g lerna # 全局安装lerna
> lerna init # 初始化
创建package
> lerna create core # package name 为 @my-cli-dev/core
> lerna create utils # package name 为 @my-cli-dev/utils
package.json中name为@my-cli-dev/core这种方式,my-cli-dev则为组织名称,需要在npm上创建一个对应的组织,可以避免名字的重复。若包发布不上去检查下这个组织是否已经建立。
core/package.json 中dependencies 添加@my-cli-dev/utils的依赖。
通过lerna link链接到本地库
发布前的准备
1、创建git仓库
> git remote add origin https://xx/cli.git # 添加仓库的链接
# 代码提交到仓库
> git add .
> git commit -m 'init'
> git push origin master --set-upstream
2、需要npm login
3、根目录下添加LICENSE.md文件
4、package.json中添加publishConfig设置为公有库
发布
> lerna publish
错误问题
lerna ERR! E403 [no_perms] Private mode enable, only admin can publish this module
出现原因:使用的是淘宝源cnpm,登陆到的是cnpm
解决方法:切换到npmjs的网址,代码如下
npm config set registry http://registry.npmjs.org/
切换过去之后记得npm login