npm - NPM 7 工作区 - 多个 node_modules?
问题描述
我无法使用 NPM 7 Workspaces 运行我的应用程序。我期望npm install
从根文件node_modules
夹中为我的每个工作区创建一个文件夹,类似于 Lerna。但是,当我npm install
在根目录运行时,我只能node_modules
在根级别获得一个。这是预期的吗?
之前 的示例结构npm i
:
.
├── package.json -> { "workspaces": ["packages/*"] }
└── packages
├── a
│ ├── index.js
│ └── package.json
├── b
│ ├── index.js
│ └── package.json
└── c
├── index.js
└── package.json
之后 的示例结构npm i
(注意只有一个package-lock.json
/ node_modules
):
.
├── package.json -> { "workspaces": ["packages/*"] }
├── **node_modules**
├── **package-lock.json**
└── packages
├── a
│ ├── index.js
│ └── package.json
├── b
│ ├── index.js
│ └── package.json
└── c
├── index.js
└── package.json
节点版本:16.4.2
NPM 版本:7.18.1
解决方案
更新:在搞砸了一百万件事之后,我终于去删除了该项目并重新克隆了它。在此之后它起作用了。我相信这是因为我最初克隆项目时使用的是旧的 node/npm 版本。一定是一些时髦的状态在附近徘徊。无论如何希望这可以帮助任何有同样问题的人!
推荐阅读
- ionic4 - 是否可以将数据存储在谷歌驱动器中而不是存储在 Firebase 中?
- android - EditText 值无法在警报对话框中更新
- php - 无法让 PHP mysql 返回最高值
- c# - unity透明全屏多屏
- google-apps-script - 循环排序名称的返回不一致
- python - 在龙卷风中流式传输服务器发送的事件
- javascript - 在 axios 中设置预加载器
- java - 在 REST DSL 中连接多个 Camel 路由
- javascript - 我如何获取 json 并查找该 json 中的更改
- cuda - Cuda:矩阵实现的减少(最大/最小)函数