項目初始化
> 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