如何在没有更新其他包的情况下“添加纱线”?

时间:2018-05-28 09:57:13

标签: npm yarnpkg package-managers

我写了一些没有依赖关系的软件包,我将这些软件包放在我的私有Gitlab上。我想用yarn add GIT_URL_TO_PACKAGE --module-folder=my_module安装它们。问题是,每次添加新包时,yarn都会在package.json中安装所有其他包。但我只想安装命令中指定的包。

yarn add是否有选项或某些技巧?

供参考:

我只想要"package manager"从我的私人Gitlab下载代码并记录包标签/ version / sha1。 Yarn只是一个涌入我脑海的工具。如果npm或其他包经理可以做到这些,我会想切换到那个。

3 个答案:

答案 0 :(得分:3)

古老的问题,但今天仍然有意义。

我创建了yarn-add-no-save以实现此功能。可以将其安装在项目的本地或全局:

$ yarn add yarn-add-no-save --dev
# or
$ yarn global add yarn-add-no-save

安装后,您只需运行:

$ yarn add-no-save <packages> # (yarn-add-no-save when installed globally)

我的用例是测试声明peerDependencies的模块,以便该工具具有一些自动安装它们的选项,以查看所有运行的选项:

$yarn add-no-save --help

注意:我知道保存一个软件包以安装软件包而不保存它们是具有讽刺意味的,并且基本上没有达到目的,但这是我能想到的最好的选择,它可以满足我的需要。

答案 1 :(得分:0)

yarn install --check-files 验证未删除node_modules中已安装的文件。

纱线安装-扁平 安装所有依赖项,但每个软件包仅允许一个版本。在第一次运行时,这将提示您为依赖于多个版本范围的每个软件包选择一个版本。这些将被添加到您的package.json中的resolutions字段下。

答案 2 :(得分:0)

我建议您使用Lerna

lerna add tiny --scope=@stocktech/study