如果我调用yarn add <my-package>
, Yarn 将安装<my-package>
的依赖项和devDependencies。这是正常的行为吗?
我检查了文档,但是我找不到阻止它安装开发依赖项(我不需要)的方法。我相信 devDependencies 是用于将源代码编译到构建脚本中的依赖项。构建我的应用程序我只需要构建。
答案 0 :(得分:11)
使用--production=true
(简称--production
或--prod
)。这确实是正常行为;纱线假设您处于“开发”环境中,除非您的NODE_ENV环境变量设置为“生产”。
看看Yarn的documentation。
答案 1 :(得分:4)
不是“损坏”而是“设计糟糕”——如果纱线需要解析“完整树”,prod 仍然会下载和“安装”开发包。只需使用 yarn install --production --frozen-lockfile
并且匹配的 yarn.lock 和 --production 将按预期工作。
这有助于将 210 MB 的 node_modules 删除为 70 MB,类似于 npm
和 pnpm
。
答案 2 :(得分:0)
Yarn有一个--production选项,这将导致它只安装生产依赖项。这显示为here