Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用NPM依赖项的git版本控制,并且仍然在本地编辑这些依赖项?_Javascript_Git_Npm_Tooling - Fatal编程技术网

Javascript 如何使用NPM依赖项的git版本控制,并且仍然在本地编辑这些依赖项?

Javascript 如何使用NPM依赖项的git版本控制,并且仍然在本地编辑这些依赖项?,javascript,git,npm,tooling,Javascript,Git,Npm,Tooling,我有多个具有多个依赖项的项目。一些项目共享依赖项,因此我们已经开始使用git版本控制来允许我们在不破坏其他项目的情况下更新依赖项 我可能有这样一个结构: 项目A | --->Dep B版本1.0.0 项目C | --->Dep B版本2.0.0 目前,我们在单个文件夹中签出了项目,然后我们使用Zelda或NPM link将依赖项连接到正确的节点模块中,因此在我的项目文件夹中,我将: 项目 |副秘书长 |a项目 |项目c 每个文件夹都是一个git repo。项目A和C将在其父文件夹中查找Dep

我有多个具有多个依赖项的项目。一些项目共享依赖项,因此我们已经开始使用git版本控制来允许我们在不破坏其他项目的情况下更新依赖项

我可能有这样一个结构:

项目A
|
--->Dep B版本1.0.0
项目C
|
--->Dep B版本2.0.0
目前,我们在单个文件夹中签出了项目,然后我们使用Zelda或NPM link将依赖项连接到正确的节点模块中,因此在我的项目文件夹中,我将:

项目
|副秘书长
|a项目
|项目c
每个文件夹都是一个git repo。项目A和C将在其父文件夹中查找Dep B

直到我们开始使用版本控制,这一切都很好。但是现在,我们有每个依赖项的多个版本,并且不是所有版本的依赖项都与所有项目兼容。我找不到一种简单的方法将正确的签出版本连接到正确的项目中


是否有工具可以帮助管理这一点?

您如何在项目中管理依赖项的版本?这个问题对我来说不清楚。您正在使用npm吗<代码>git子模块?@SaschaWolf-直接向上npm。我们有一个满是签出的git存储库的文件夹,我们在每个repo中
npm i
,然后我们链接到
zelda..
npm link
。项目的
package.json
文件是什么样子的?您可以将git提交/标记与npm一起使用,每个包都可能取决于不同的版本,您现在是如何管理的?这是git子模块的主要用途之一,关于git子模块最常见和令人困惑的抱怨之一是,当你更新git子模块时,你会得到确切的提交版本,而不是不同的版本。“不是所有版本的依赖项都与所有项目兼容”-这是一个问题,听起来版本控制可能没有正确使用。任何共享的内部dep库构建都可以推送到本地NPM。使用此类代码的代码与标准版本控制一起使用,标准版本控制必须遵循主/次/etc规则。每个消费项目都建立自己的依赖关系。