为什么每次创建一个新的Angular 2项目都需要运行npm install?

9
每次我创建一个新的Angular 2项目时,它会显示"node_modules目录为空,你可能需要运行`npm install`"。

你不需要每次安装,只需要一次性设置。 - Murugesan Yadav
4个回答

7

依赖关系

每个项目都有不同的依赖关系。一个项目可能使用一个处理日期的库,而另一个项目则使用一个显示模态框的库。

在您的 Angular 项目中,有一个名为 package.json 的文件。这个文件负责跟踪您的项目的依赖关系

当您运行npm install命令时,Node Package Manager,简称npm,将下载这些依赖项并将它们放在node_modules文件夹中。


1
因为每个 Angular 应用程序可能具有不同的依赖项,而且这些依赖项是相对于您的 Angular 应用程序解析的。 - Hamid Asghari

2

我不确定我理解你所说的“自动化”的意思。你认为什么应该触发安装应用程序的依赖项?每个应用程序/项目都将有一组不同的依赖项,其中一些是依赖项,而其他一些是devDependencies(仅在开发过程中使用)。根据npmjs.com的数据,在此时此刻,有520,400(并且还在增加)个npm模块。我假设这个数字只包括公共模块,不包括私有模块。你是在建议Angular应该随附于这数十万个软件包吗? - RKG
那么为什么其他人都说在Angular CLI中不需要运行npm install,因为当你ng new一个项目时它已经完成了呢? - Hanan Ur Rehman
没意识到你在使用 Angular CLI。这应该在问题中进行澄清。无论如何,你确定没有在 ng new 命令中使用 --skip-install-si--skipInstall 吗?你能否使用 --verbose-v 运行 ng new 命令,以便在出现问题时输出更多日志记录? - RKG
今天我也遇到了完全相同的错误,因为我忘记进入由 ng new 命令创建的目录。 - RKG

0

我安装了它 它之前可以工作 今天我打开了cmd,创建了一个新项目,但是出现了相同的错误 node_modules似乎为空,您可能需要运行npm install - Hanan Ur Rehman
你使用CLI创建了新项目吗?在尝试运行之前,您是否进入了创建的文件夹?在尝试运行应用程序之前,您需要在包含package.json文件的文件夹中。 (如果您使用CLI生成应用程序,则不需要运行npm install。) - DeborahK
当我运行npm install时,它会创建一个node_modules文件夹。 - Hanan Ur Rehman

0

一旦你运行 ng new my-project,请给它一些时间来安装依赖项到 node_modules 文件夹中,显示以下消息。

通过 npm 安装工具包

一旦完成,您将收到以下消息:

通过 npm 安装工具包。 项目 'my-project' 成功创建。

现在尝试运行 ng serve。它应该正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接