如何在不更新其他包的情况下`yarn add`?

azt*_*ack 5 package-managers npm yarnpkg

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

有没有选择yarn add或一些技巧?

供参考:

我只想"package manager"从我的私人 Gitlab 下载代码并记录包标签/版本/sha1。Yarn只是一个突然出现在我脑海中的工具。如果npm或其他包管理器可以做到这些,我很乐意切换到那个。

Dar*_*rio 6

老问题但今天仍然相关。

我创建的目的yarn-add-no-save就是为了实现这个功能。它可以安装在您的项目本地或全局:

$ yarn add yarn-add-no-save --dev
# or
$ yarn global add yarn-add-no-save
Run Code Online (Sandbox Code Playgroud)

安装后,您只需运行:

$ yarn add-no-save <packages> # (yarn-add-no-save when installed globally)
Run Code Online (Sandbox Code Playgroud)

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

$yarn add-no-save --help
Run Code Online (Sandbox Code Playgroud)

注意:我知道保存包来安装包而不保存它们是具有讽刺意味的,并且基本上违背了目的,但这是我能想到的最好的方法,它符合我的需求。


小智 -2

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

yarn install --flat 安装所有依赖项,但每个包只允许一个版本。第一次运行时,这将提示您为多个版本范围所依赖的每个包选择一个版本。这些将添加到您的 package.json 中的解析字段下。