npm 工作区“警告:过滤器集中有某些包名称,但不存在工作区文件夹”

mik*_*ana 20 node.js npm

我有一个包含许多 npm 包的存储库,使用npm 工作区

顶层package.json包含以下行:

  "workspaces": [
    "*"
  ]
Run Code Online (Sandbox Code Playgroud)

当我运行npm i -ws或其他 npm 命令时,我收到警告:

WARN: some-package-name in filter set, but no workspace folder present
Run Code Online (Sandbox Code Playgroud)

我不太确定该消息的含义 - 我认为“过滤器集”是选项-w,但工作区文件夹some-package-name肯定存在。

需要注意的是,some-package-name/package.json包含一个 org 前缀,例如:

"name": "@mycompany/some-package-name",
Run Code Online (Sandbox Code Playgroud)

所以也许这就是原因。我无法将文件夹从some-package-name重命名为@mycompany/some-package-name,因为我担心以 开头的目录@可能会破坏内容。

该警告是什么意思以及如何解决?

小智 6

我遇到了同样的问题,使用工作区包中配置的名称而不是文件夹名称为我解决了问题,即使使用@.

npm install --workspace=@mycompany/some-package-name

  • 我认为这也是我的问题的原因。本质上 - 我不明白 - 是“-ws”代表**所有工作区**。`-w` 表示单个工作空间。 (2认同)