在接手一个Node项目的时候,npm install。却出现了”killed”的错误。以为是Node版本的问题,熟练地切换了0.11与0.10版,同样无解。

由于新的npm版本吧,npm install的时候已经无法看到常规的log信息了。以npm install -d查看安装的过程,发现无任何特殊的地方。在一定程度的时候,直接被”killed”。关于npm install -d可以看 npm config

-v: --version
-h, -?, --help, -H: --usage
-s, --silent: --loglevel silent
-q, --quiet: --loglevel warn
-d: --loglevel info
-dd, --verbose: --loglevel verbose
-ddd: --loglevel silly
-g: --global
-C: --prefix
-l: --long
-m: --message
-p, --porcelain: --parseable
-reg: --registry
-f: --force
-desc: --description
-S: --save
-D: --save-dev
-O: --save-optional
-B: --save-bundle
-E: --save-exact
-y: --yes
-n: --yes false
ll and la commands: ls --long

最后才想到,可能是内存不够了。由于是以vagrant启动的一台ubuntu14.04的虚拟机,默认只有500M的内存。而且该项目会用到一些底层的npm包,会编译一些代码。这就导致了内存不够用。

可以查一下相应的系统log,在路径 /var/log之下,确认自己的问题。如/var/log/syslog/var/log/messages等。

Solution

1. 增大内存。

由于我是虚拟机,所有增大内存相对简单。在vagrantfile里,只需要增加一条:

  config.vm.provider "virtualbox" do |v|
v.memory = 1024
end

即可。

2. 利用swap file实现虚拟内存

使用

sudo swapon -s

查看系统是否配置了交换区域。没有的话, 便直接开始创建swap file。

创建一个1G的文件。

sudo fallocate -l 1G /swapfile

使用

ls -lh /swapfile

确认是否是自己所需要的文件大小。

启用Swap文件

首先调整文件的权限,若该文件能被其他用户随意的读写,则会产生很大的安全隐患。

sudo chmod 600 /swapfile

现在安全多了,可以让系统开始设置交换区域了。

sudo mkswap /swapfile

启用该文件

sudo swapon /swapfile

现在基本的步骤已经完成了,可以使用最初的命令验证swap file是否正确使用。

sudo swapon -s

Filename                    Type          Size     Used     Priority
/swapfile file 1048572 0 -1

交换分区已经成功设置,系统会在必要的时候使用它。

注意

现在已经启用了swap文件,但当我们重启的时候,系统不会自动地启用该swap文件。可以通过修改fstab文件实现开机使用swap文件。

用root权限编辑

sudo vim /etc/fstab

在文件的最后,需要添加一行告诉操作系统自动使用swap文件。

/swapfile   none    swap    sw    0   0

如此再npm install 的时候,便解决了所有的问题了。

NPM install - killed error solution的更多相关文章

  1. vue-cli3.0创建项目报npm install --loglevel error 踩坑的那把辛酸泪

    创建项目 vue create vue-pro 然后如下图 一开始以为是npm的问题,卸载了Mac的node ,安装nvm,然后再安装node (可参考: Mac中nvm的安装和使用   https: ...

  2. command failed: npm install --loglevel error --registry=https://registry.npm 用vue-cli 4.0 新建项目总是报错

    昨天新买的本本,今天布环境,一安装vue-cli发现都4.0+的版本了,没管太多,就开始新建个项目感受哈,一切运行顺利,输入 "vue create app" 的时候,一切貌似进展 ...

  3. #npm install# MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 "4.0"。

    0.问题描述 Windows 10 最近使用npm install安装项目依赖包,当自动执行至node-gyp rebuild时报错: C:\Users\dsl\Desktop\Pros\ant-de ...

  4. ionic3 npm install cordova error syscall rename

    突然出现cordova 不是内部或外部命令,也不是可运行的程序或批处理文件. 可是之前cordova安装后一直用的好好的啊,后来尝试重新安装cordova 出现这个错误.也尝试重新安装了最新版本的no ...

  5. @vue-cli3创建项目报错:ERROR command failed: npm install --loglevel error --registry=https://registry.npm.taobao.org --di

    使用@vue-cli3时 在你感觉所以配置都搞好开始创建项目时,不停的报错,就是创建不成功 清npm缓存也不行 改淘宝镜像也不行 就快奔溃了,最后最终(其实我在凑150字,为了能发到首页给更多采坑的兄 ...

  6. npm install报错Error: ENOENT

    E:\projects\ueditor\ueditor1_4_3_3-src>npm installError: ENOENT, stat 'C:\Users\Lucas\AppData\Roa ...

  7. npm install Error:EPROTO: protocol error, symlink '../mime/cli.js' -> '/vagrant/src/nodejs/node_modules/express/node_modules/send/node_modules/.bin/mime'

    我在ubuntu上使用npm安装依赖是出现下面错误: npm ERR! Linux 3.13.0-101-genericnpm ERR! argv "/usr/bin/nodejs" ...

  8. npm install 报错(npm ERR! errno -4048,Error: EPERM: operation not permitted,)解决方法

    npm ERR! path E:\SouthernPowerGridProject\web_project\AutoOPS\autoops\node_modules\fsevents\node_mod ...

  9. npm install error: MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”

    When I tried to run angular 4 material2 demo on my windows server 2012, got a error message: node-pr ...

随机推荐

  1. python None与Null

    一.Python对象 要理解这个,首先要理解Python对象: python对象具有三个特性:身份.类型.值. 三特性在对象创建时被赋值.只有值可以改变,其他只读. 类型本身也是对象. 二.Null与 ...

  2. [原创]Windows Phone SDK下载

    [原创]Windows Phone SDK下载 http://dev.windowsphone.com/zh-cn/downloadsdk

  3. Level shifting a +/- 2.5V signal to 0 - 5V

    Google : Op-Amp Level Shifter Level shifting a +/- 2.5V signal to 0 - 5V I have a front end module t ...

  4. arcgis打开图层后右下角坐标小数点位数调整

    打开arcmap,加载图层后,在其右下方会显示鼠标移动的点坐标,但是默认显示的小数点只有三位,如果是经纬度坐标,只有三位的话不够精确,因此想着能否改变其显示的精度,搜了半天,算是搜到了,但是过了一段时 ...

  5. 第50讲:Scala中Variance变化点

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  6. 清除mac os svn密码命令行缓存

    删除认证缓存设置即可,如下:rm -rf ~/.subversion/auth by yytong

  7. timer.scheduleAtFixedRate和timer.schedule的实验

    基础代码: Calendar  currentTime = Calendar.getInstance(); currentTime.setTime(new Date()); int  currentH ...

  8. 系统UINavigationController使用相关参考

    闲来无事便在网上google&baidu了一番UINavigationController的相关文章,然后又看了下官方文档:看看更新到iOS7之后UINavigationController的 ...

  9. 解决URL路径包含+等特殊符号,编码也无效的办法

    <?xml version="1.0" encoding="UTF-8"?><configuration>      <syste ...

  10. C primer plus 练习题 第六章

    16. #include <stdio.h> int main() { double remain = 100.0; ; ) { remain = remain * 0.08 + rema ...