设置我的包时我做错了什么?有什么办法可以加快速度吗?
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、Digital Ocean 和 VULTR 盒子上——所以我怀疑它与 npm
是特定的,我使用的方式(缺少一些东西),或者我的 packages.json
。
原文由 Kraang Prime 发布,翻译遵循 CC BY-SA 4.0 许可协议
我能够从评论部分解决这个问题;概述下面的过程。
从评论中
AndreFigueiredo 说:
LINKIWI 表示:
观察
按照他们的建议,我注意到 CentOS、Ubuntu 和 Debian 在使用
apt
b3be38c0a8bcb907e0899897ef 检索 当前 版本时都使用 非常 过时的版本nodejs
和npm
yum
(取决于操作系统主包管理器)。摆脱过时的
nodejs
和npm
为了尽可能减少头痛来解决这个问题,我运行了以下命令(在 Ubuntu 上):
这清除了古老的
nodejs
和npm
的系统以及所有不再需要的依赖项安装电流
nodejs
并兼容npm
下一个目标是获得
nodejs
和npm
的当前版本,我可以直接从 这里nodejs
并编译或使用二进制文件,但是这个不会让我根据需要轻松交换版本(取决于项目的年龄)。我遇到了一个名为 nvm 的很棒的包,它(到目前为止)似乎很好地管理了这个任务。要安装
nodejs
版本 7 的当前稳定最新版本:安装
nvm
来源
.bashrc
使用nvm安装
nodejs
7.x安装后,我对
npm
更快 的性能感到惊喜,它现在在抓取包时也显示了一个漂亮的进度条。对于那些好奇的人,
npm
的当前(截至目前)版本应该如下所示(如果不是,您可能需要更新它):概括
不要使用你的操作系统包管理器来安装 NODE.JS 或 NPM - 你会得到非常糟糕的结果,因为似乎没有操作系统保持这些包(甚至不接近)最新。如果您发现
npm
运行缓慢 并且不是您的计算机或互联网,则很可能是因为版本 严重 过时。