Workspaces can only be enabled in private projects.

牟华翰
2023-12-01

出现这个错误是因为你使用了yarn的workspace,但并未将工程标记为private。

// 在以下代码中添加private字段,并设置为true,即可。

{
  "name": "test-workspace",
  "workspaces": [
    "packages/*"
  ],
+  "private": true,
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT"
}

究其原因,看官网解释:

They have to be marked private: true. This requirement exists because workspaces are a client-only feature. The remote registries (such as the npm registry) have no idea what a workspace is, and neither should they. In order to prevent accidental pushes and information leaks workspaces must have their private flag set.

即,workspace仅仅是为了你的本机方便维护依赖。当你的包被发布到npm的时候,npm完全没有workspace的概念。所以为了避免你手抖发出去。yarn强制你把启用了workspace的工程的标记为私有。

 类似资料:

相关阅读

相关文章

相关问答