为“devDependencies”和“dependencies”指定不同的 Yarn 安装路径
Posted
技术标签:
【中文标题】为“devDependencies”和“dependencies”指定不同的 Yarn 安装路径【英文标题】:Specify different Yarn install paths for ‘devDependencies’ and ‘dependencies’ 【发布时间】:2017-08-18 03:25:30 【问题描述】:我正在使用 Yarn 来管理我的项目的依赖项。我有开发所需的开发人员依赖项 (devDependencies
) 和我的项目运行所需的前端依赖项 (dependencies
)。我使用 Git 来管理我的版本控制。
Yarn 默认似乎在node_modules
目录中安装all 依赖项。这对于开发人员依赖项来说很好,但是因为我使用的是 Git,所以我通常会忽略这个目录。但是,我想提交我的前端依赖项并将它们与开发人员依赖项隔离开来。
我想知道是否可以将 Yarn 配置为将所需的依赖项安装在与开发人员依赖项不同的目录中。例如:
devDependencies
将安装在 /node_modules
dependencies
将安装在 /vendor
Bower 在 .bowerrc
文件中具有类似的功能,但我找不到 Yarn 的类似功能。我曾考虑将 Bower 与 Yarn 一起用于我的前端依赖项,但这似乎违背了使用 Yarn 的目的。
【问题讨论】:
你在这方面有进步吗?--cwd
最近被添加到 Yarn 让你做这种事情。 github.com/yarnpkg/yarn/pull/4174
为什么要在 repo 中提交前端依赖项?我可以想到这样做的好坏理由。是因为您想直接从 gh-pages
分支中的存储库中提供静态 html 页面吗?您是否试图确保您的依赖项的代码永远不会改变?
【参考方案1】:
当你将一个包安装到你的仓库时,你可以通过在它的末尾指定 -D 来安装它们,例如 yarn install some-package -D,这会将该包添加到 devDependencies在你的 package.json 文件中的树,如果你没有指定 -D 包将被添加到树中 dependencies 我相信这就是依赖分离的工作原理
【讨论】:
以上是关于为“devDependencies”和“dependencies”指定不同的 Yarn 安装路径的主要内容,如果未能解决你的问题,请参考以下文章
dependencies和devDependencies两者区别
谈谈vue2.0的dependencies和devDependencies
devDependencies和dependencies的区别