首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的npm需要几个小时来安装依赖项?

为什么我的npm需要几个小时来安装依赖项?
EN

Stack Overflow用户
提问于 2015-12-20 20:58:31
回答 1查看 1.7K关注 0票数 1

当我不得不开始一个网络项目的时候,我会退缩。我使用yeomangulp-angular生成器来设置我的工作流。npm install的成功从来没有一次没有失败过。

此外,它需要任何东西,从良好的3-4小时,我的平均互联网连接,以建立一个项目。这不是违背了工具的全部目的吗?与没有npm相比,我最终花费了更多的时间等待。此外,它还为每个项目安装了类似的包(大约120MB的膨胀)。

我知道有像npm_lazy和缓存之类的工具,但这些只会使前端工具变得比它更复杂。

是什么让npm如此低效?

EN

回答 1

Stack Overflow用户

发布于 2015-12-20 23:41:40

我也能感受到你的痛苦。如果您正在积极开发一个新的nodejs项目,希望始终使用所有上游npm包的最新版本,那么在准备发布之前,请避免在package.json文件中提及任何依赖项。我们遇到的这种减速是由于不必要地将这些上游包存储在你的项目目录下的dir /node_modules/中,在你分发你的应用程序之前,这个目录是没有用的。

在这里,我没有提到这个package.json文件中的上游包:

代码语言:javascript
复制
{
    ... other tags here ...
    "dependencies" : {

    }
}

另外,使用-g标志全局安装项目的上游npm包,如下所示:

代码语言:javascript
复制
npm install -g some_cool_package

因此,这些包可供您的项目使用,但不会驻留在其根目录中,从而降低您的工作效率。因此,请不要发出

代码语言:javascript
复制
npm install

位于nodejs项目根目录中,因为所有上游npm包都位于环境变量NODE_PATH定义的全局安装目录中。

代码语言:javascript
复制
echo $NODE_PATH

它的值类似于

代码语言:javascript
复制
/home/stens/node-v5.3.0/lib/node_modules

这是使用-g标志安装npm包时填充的全局npm包存储位置。该模块将因所有上游npm包而变得臃肿,而不是存储在nodejs应用程序/node_ $NODE_PATH /目录中

在这种模式下发展,摆脱这种负担……当您准备好分发时,请使用上游npm包填充您的package.json文件,并发出npm install以填充dir /node_modules/ ...当然,将node_modules添加到.gitignore中,这样就不会将目录发送到git中

您也可以对现有的nodejs应用程序执行此操作,方法是清空package.json文件的"dependencies“标记并删除目录/node_modules/ ...直到您准备好分发

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34381221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档