我們延續上一個 demo 範例 https://github.com/alincode/lerna-sandbox-2019
編輯 lerna.json
npmClient
屬性,npmClient 預設是 npm
,你可以把它改成 yarn
。useWorkspaces
為 true{
"packages": ["packages/*"],
"npmClient": "yarn",
"useWorkspaces": true,
"version": "independent"
}
因為 yarn 不會知道 lerna.json 這個檔案的存在,所以你要編輯 package.json
添加 workspaces
屬性,這樣就搞定囉。
{
"name": "root",
"private": true,
"workspaces": ["packages/*"],
"devDependencies": {
"lerna": "^3.16.4"
}
}
接著你在執行
yarn install
就會發現之前三個目錄下都有 node_modules
資料夾,但現在只有根目錄才有 node_modules 資料夾了。
packages/app-api-server/node_modules
packages/app-core/node_modules
packages/app-socket-server/node_modules