最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

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

网站源码admin28浏览0评论

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

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

当我必须开始一个网络项目的那一天,我感到畏缩。我使用

yeoman
gulp-angular
生成器来设置我的工作流程。
npm install
从来没有一次成功而不失败过。

此外,在我的互联网连接上,平均需要 3 到 4 个小时才能建立一个项目。这不是违背了工具的全部目的吗?我最终会花更多的时间等待,而不是没有

npm
。它还为每个项目安装类似的软件包(约 120MB 的膨胀)。

我知道有像

npm_lazy
和缓存之类的工具,但这些只会让前端工具变得更加复杂。

是什么让

npm
如此低效?

回答如下:

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

这里我提到此 package.json 文件中没有上游包:

{
    ... other tags here ...
    "dependencies" : {

    }
}

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

npm install -g some_cool_package

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

npm install

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

echo $NODE_PATH

其值类似于

/home/stens/node-v5.3.0/lib/node_modules

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

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

您还可以通过清空 package.json 文件的“依赖项”标签并删除目录 /node_modules/ ...来对现有的 Nodejs 应用程序执行此操作,直到您准备好分发

发布评论

评论列表(0)

  1. 暂无评论