忽略package-lock.json中的某些软件包

时间:2018-10-10 14:31:42

标签: javascript npm package.json package-lock.json

我有一个难题,似乎找不到正确的解决方案。

我正在处理的当前项目使用npm来管理我们的软件包。我们已经有一段时间没有使用package-lock.json了,但是需要重新添加它。

问题是,我们有一些自定义软件包(例如,“ my-components”)是通过npm安装的,其中包含我们组件的代码等。对于这些软件包,我们总是在执行“ npm安装”时包括最新版本。

我的问题是,有什么办法可以排除package-lock.json的某些软件包?还是对此有其他意见?

理想情况下,除自定义软件包以外的所有软件包都将被锁定为特定版本,然后我们的自定义软件包将始终从最新版本开始安装。

编辑:为澄清起见,我遇到的主要问题是对于开发,我们没有提取自定义软件包的特定版本。我们只是拉#dev分支上发生的任何事情。对于特定的发行版,我们有一个版本号,但是我们在那很好。我们希望能够使我们的自定义软件包说“无论何时运行npm安装,总是拉出dev分支上发生的一切”,但是我们希望所有其他软件包都被锁定为特定版本。

1 个答案:

答案 0 :(得分:0)

如果仅用于开发,则可以使用npm link。基本上,它将创建到另一个程序包的符号链接,您可以从其自己的文件夹中保持更新。

例如,如果您有两个软件包[HttpGet] public ActionResult GetEntityModal(EditEntityModalView entityModel) { IEntity entity = _entitiesService.GetEntity(entityModel.EntityType, entityModel.Id); entityModel.Name = entity.Name; return PartialView("_ModifyEntityModal", entityModel); } my-components,其中main-projectmy-components的依赖项,并且假设{{1 }}目录。

main-project源文件夹中,运行~/projects

然后从~/projects/my-components开始运行npm link

您现在可以并行开发这两个项目。