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

Javascript 忽略package-lock.json中的某些包,javascript,npm,package.json,package-lock.json,Javascript,Npm,Package.json,Package Lock.json,我遇到了一个难题,似乎找不到正确的解决办法 我目前工作的项目使用npm来管理我们的包。我们已经有一段时间没有使用package-lock.json了,但需要重新包含它 问题是,我们有一些自定义软件包(例如“我的组件”)是通过npm安装的,其中包含我们的组件代码等。对于这些软件包,在执行“npm安装”时,我们总是希望包含最新版本 我的问题是,有没有办法排除package-lock.json的某些包?或者这个问题还有别的解决办法吗 理想情况下,除自定义软件包之外的所有软件包都将锁定到特定版本,然后自

我遇到了一个难题,似乎找不到正确的解决办法

我目前工作的项目使用npm来管理我们的包。我们已经有一段时间没有使用package-lock.json了,但需要重新包含它

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

我的问题是,有没有办法排除package-lock.json的某些包?或者这个问题还有别的解决办法吗

理想情况下,除自定义软件包之外的所有软件包都将锁定到特定版本,然后自定义软件包将始终从最新版本安装


编辑:澄清一下,我面临的主要问题是,对于开发,我们没有提取定制包的特定版本。我们只是在拉#dev分支上发生的任何事情。对于特定的发行版,我们有一个版本号,但我们在那里没有问题。我们希望能够让我们的定制软件包说“每当运行npm安装时,总是拉取dev分支上发生的任何事情”,但我们希望所有其他软件包都锁定到特定版本

如果只是为了开发,您可以使用。它基本上会创建一个指向另一个包的符号链接,您可以从它自己的文件夹中保持更新

例如,如果您有两个包,
my components
main project
,其中
my components
main project
的依赖项,我们假设
~/projects
目录中都有

~/projects/mycomponents
源文件夹中,运行
npm链接

然后从
~/projects/main project
运行
npm链接我的组件


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

在package.json中,您可以指定版本范围^1.X.X将为您提供最新的允许主要发布的版本,而~将只允许最新的次要发布的版本。应已添加package.json,如果更新,将胜过package lock。因此,如果您想推出最新版本的东西,只需在package.json中更新它,在本地测试它并重新提交。锁的目的是让项目中的每个人都使用相同的版本。这是有用的信息!因此,在这种情况下,我的包锁将确保所有包(我的“我的组件”包除外)保持完全相同,只要我更新包中的“我的组件”。json?@digital pollution我为上述问题添加了一个更新,以明确我的问题。您对此有何想法?是的,显式更新package.json中组件的允许版本(或范围)始终是最安全和最好的选择。我建议自动允许次要版本(~X.minor.X),但需要开发人员手动测试主要版本。