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

为什么“npm install”真的很慢?

运维笔记admin12浏览0评论

为什么“npm install”真的很慢?

为什么“npm install”真的很慢?

设置我的包时我做错了什么?有什么方法可以加快速度吗?

  • packages.json : { "name": "testing node", "version": "0.0.0", "description": "", "main": "app.config.js", "dependencies": { "babel-core": "^6.17.0", "babel-loader": "^6.2.0", "babel-plugin-add-module-exports": "^0.1.2", "babel-plugin-react-html-attrs": "^2.0.0", "babel-plugin-transform-class-properties": "^6.3.13", "babel-plugin-transform-decorators-legacy": "^1.3.4", "babel-preset-es2015": "^6.3.13", "babel-preset-react": "^6.3.13", "babel-preset-stage-0": "^6.3.13", "react": "^0.14.6", "react-dom": "^0.14.6", "webpack": "^1.12.9", "webpack-dev-server": "^1.14.1", "mysql": "*" }, "devDependencies": {}, "scripts": { "dev": "webpack-dev-server --content-base src --inline --hot", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }

如果我跑的话,在文件夹里面

npm install

我得到以下可能需要数小时才能完全设置:

这不是一般的计算或硬件问题。比较速度如下:

  • 运行haversine来计算非索引mysql表中超过100万条记录的所有距离所花费的时间要少得多。 (计算)
  • 在极短的时间内下载完整的Linux(双层DVD ISO)安装。 (带宽)

我怀疑我的packages.json或我正在运行npm install的命令有问题。从图像中,似乎有许多尝试来检索相同的文件。可能有办法迫使npm从更稳定的镜子中取回?可能它默认使用的镜像选择是不是很难?只是一些建议 - 我不知道具体的原因,这就是我要问的原因。

这个问题也出现在我的Linode,数字海洋和VULTR盒子上 - 所以我怀疑它是特定的npm,我使用的方式(缺少的东西),或我的packages.json

回答如下:

我能够从评论部分解决这个问题;概述下面的过程。

从评论

AndreFigueiredo说:

我使用你的package.json和npm v3.5.2以及node v4.2.6在不到1分钟的时间里安装了模块。我建议你更新node和npm。


v1.3.0甚至没有在v3上引入平坦的依赖关系来解决许多恼人的问题

LINKIWI说:

一般来说,不要依赖包管理器来保持最新的软件。我强烈建议从apt中清除你安装的node / npm组合,并按照nodejs上的说明安装最新版本。

意见

根据他们的建议,我注意到当使用nodejsnpm检索当前版本时,CentOS,Ubuntu和Debian都使用非常过时的aptyum版本(取决于操作系统主程序包管理器)。

摆脱过时的nodejsnpm

为了尽可能减少头痛,我运行了以下命令(在Ubuntu上):

apt-get purge --auto-remove nodejs npm

这清除了古老的nodejsnpm系统以及不再需要的所有依赖关系

安装当前的nodejs和兼容的npm

下一个目标是获得nodejsnpm的当前版本,我可以直接从nodejs获取here并编译或使用二进制文件,但这不会使我很容易交换版本(取决于项目的年龄) )。

我遇到了一个名为nvm的伟大软件包(到目前为止)似乎很好地完成了这项任务。要安装nodejs版本7的当前稳定的最新版本:

安装nvm

curl -o- https://raw.githubusercontent/creationix/nvm/v0.33.0/install.sh | bash

来源.bashrc

source ~/.bashrc

使用nvm安装nodejs 7.x.

nvm install 7

在安装之后,我对npm更快的性能感到惊喜,它现在也显示了一个非常好的进度条,同时还在试图打包。

对于那些好奇的人来说,npm的当前(截至此日期)版本应该如下所示(如果没有,你可能需要更新它):

摘要

不要使用您的操作系统包管理器来安装NODE.JS或NPM - 您将得到非常糟糕的结果,因为似乎没有操作系统保持这些包(甚至不接近)当前。如果您发现npm运行缓慢且不是您的计算机或互联网,则很可能是因为版本过时。

发布评论

评论列表(0)

  1. 暂无评论