我在纱线工作区中使用lerna。如下所述,我使用命令yarn workspace @org/package-1 build:lib
构建了我的库。
dist
文件夹已生成。之后,我运行npx lerna publish
。但是无法说明dist
文件夹中没有package.json
为什么lerna需要在dist文件夹中包含package.json?我该如何解决?
{
"main": "dist/index.js",
"types": "dist/index.d.ts",
"workspaces": [
"packages/*"
],
"publishConfig": {
"access": "public",
"directory": "dist"
},
"scripts": {
"build:lib": "rm -rf dist & tsc -p ./tsconfig-lib.json",
},
"files": [
"README.MD",
"dist"
]
}
然后,如果我仍然提供了一个脚本来复制dist文件夹中的文件,则Lerna会选择它。这是我的修改。
{
"main": "index.js",
"types": "index.d.ts",
"publishConfig": {
"access": "public"
},
"scripts": {
"bundle": "rm -rf dist & tsc -p ./tsconfig-lib.json",
"copy": "cp README.MD package.json dist/",
"build:lib": "yarn run bundle; yarn run copy;"
},
"files": [
"README.MD",
"**"
]
}
这一次,它确实选择并奇怪地将tarball内容发布为新软件包。但是最后有一个错误-lerna ERR! E402 You must sign up for private packages