是否有纱线安装子文件夹的命令?

Posted

技术标签:

【中文标题】是否有纱线安装子文件夹的命令?【英文标题】:Is there's a command for yarn to install a subfolder? 【发布时间】:2018-08-01 04:37:33 【问题描述】:

背景:

我们在这个项目中使用yarn,我们不想在编写package.json 脚本时混合使用npm/yarn 命令。

我有一个包含几个子文件夹的根目录。

每个都有不同的服务。

我想在npm install每个服务的根文件夹中创建一个脚本,一个一个。

问题:

你知道npm install <folder> 的纱线替代品是什么吗?

我正在寻找类似这样的伪命令:yarn <folder>

【问题讨论】:

【参考方案1】:

你可以使用--cwd a git issue 关于这个:

yarn --cwd "your/path" script

你也可以使用 cd :

cd "your/path" && yarn script

【讨论】:

【参考方案2】:

要在每个子目录上运行yarn install,您可以执行以下操作:

"scripts": 
  ...
  "install:all": "for D in */; do yarn --cwd \"$D\"; done"

在哪里

install:all只是脚本的名字,你可以随意命名

D是当前迭代的目录名

*/ 指定要查找子目录的位置。 directory/*/ 将列出directory/ 中的所有目录,directory/*/*/ 将列出所有目录中的两个级别。

yarn -cwd 在给定文件夹中安装所有依赖项

您还可以运行多个命令,例如:

for D in */; do echo \"Installing stuff on $D\" && yarn --cwd \"$D\"; done

将在每次迭代时打印“Installing stuff on your_subfolder/”。

【讨论】:

【参考方案3】:

在单个子文件夹中运行多个命令:

cd your/path && yarn && yarn some-script

【讨论】:

以上是关于是否有纱线安装子文件夹的命令?的主要内容,如果未能解决你的问题,请参考以下文章

使用纱线工作区在monorepo中跨项目共享配置变量?

我可以从本地纱线工作区依赖包中导入“main”:“index.js”文件之外的子模块吗?

带有 Lerna 的纱线工作区仍在将包添加到子文件夹

使用纱线包管理器的错误

是否有任何纱线相当于 npx preact create?

纱线安装错误“ENOENT:没有这样的文件或目录