Angular 没有npm更新的git新分支10

Angular 没有npm更新的git新分支10,angular,git,angular10,npm-update,Angular,Git,Angular10,Npm Update,我在git功能分支上创建了一个新的Angular 10应用程序。我为它建立了基本框架,然后将该特性分支合并到发行版中。我从发行版创建了一个新的功能分支,开始进行增强,当我尝试运行ng serve时,我遇到了以下错误: An unhandled exception occurred: Cannot find module '@angular-devkit/build-angular/package.json' 看看这个SO答案(),解决方案是运行npm update。这对我来说很有效,但在每一个

我在git功能分支上创建了一个新的Angular 10应用程序。我为它建立了基本框架,然后将该特性分支合并到发行版中。我从发行版创建了一个新的功能分支,开始进行增强,当我尝试运行
ng serve
时,我遇到了以下错误:

An unhandled exception occurred: Cannot find module '@angular-devkit/build-angular/package.json'

看看这个SO答案(),解决方案是运行
npm update
。这对我来说很有效,但在每一个新的git分支上都需要这样做似乎是一件非常痛苦的事情。gitignore文件中是否有我可以更改的内容,因此这不是必需的,或者这只是每个人都必须处理的一个标准问题?

至于为什么节点模块是灰色的(我看到您的评论),这是因为git没有跟踪它,这是一件好事,因为您不想将所有依赖项保存到存储库中(里面大约有50K个文件)。这意味着如果你克隆了这个项目,你必须使用
npm install

我相信这可以解释您的问题。您可能已经克隆了项目,因此您必须使用
npm install
来安装依赖项。
npm update
之所以有效,是因为它比较了包中所有依赖项的稳定版本。json并升级到该稳定版本,然后再重新安装暂停所有依赖项


希望这有助于您更好地理解。

您是不是无意中删除了node_modules目录?xDNo,但既然您这么说,我在VS代码中查看了node_modules文件夹,它有灰色文本,而所有其他文件夹和文件都是白色文本。我想知道这是否意味着git没有将其选中以进行签入。如果您的功能branch具有不同版本的angular,git没有跟踪
节点_模块
(它可能不应该这样做),然后您需要通过执行
npm install
来更新软件包。我通常只是删除
node\u modules
文件夹,然后执行一个干净的安装,以便保存。只是为了澄清一下,在将功能分支a合并到其中之前,发布分支中没有任何内容。合并后,从发布中创建了功能分支B与特征分支A的角度相同(因为它基本上是特征分支A)如何解决这个问题不是问题。正如我所说,
npm update
解决了这个问题。问题是,有没有办法避免每次我从发行版创建一个新的功能分支时都需要运行
npm update
?它应该明确提交,因此它被git忽略,这可能就是为什么vcs代码显示出来的原因它是灰色的(我使用intellij)好的,我不会跟踪节点单元模块,很高兴知道。但是,你是说需要对每个新功能分支运行
npm install
是正常的吗?不,我不这么认为。我只是认为你一开始没有节点单元模块。克隆存储库时使用
npm install
是正常的。尝试创建一个新分支并告诉我如果您仍然存在必须使用
npm install
的问题。repo完全为空。我从发行版开始创建了第一个分支(也称为nothing),然后创建了应用程序。我用第一个分支运行了很多次ng serve,没有问题。我提交了所有内容,然后将功能分支合并到发行版。然后我从发行版创建了第二个功能分支。这是我运行npm更新来修复它的时候。我测试了从发行版创建第三个分支,ng serve运行没有问题。谢谢感谢您解释不跟踪node_模块以及为什么我应该使用npm安装而不是npm更新。只是不确定为什么我需要在第二个功能分支上执行此操作。是的,因此可能在安装过程中出现问题,某些依赖项没有安装。很酷,它现在可以按预期工作。我想您也可以将此标记为正式答案。