NPM install

王朝学院·作者佚名  2016-05-26
窄屏简体版  字體: |||超大  

NPM install - killed error solution 2015-02-09 19:37 by owenyang, ... 阅读, ... 评论, 收藏, 编辑 在接手一个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 falsell and la commands: ls --long

最后才想到,可能是内存不够了。由于是以vagrant启动的一台Ubuntu14.04的虚拟机,默认只有500M的内存。而且该项目会用到一些底层的npm包,会编译一些代码。这就导致了内存不够用。可以查一下相应的系统log,在路径 /var/log之下,确认自己的问题。如/var/log/syslog 和 /var/log/messages等。

Solution1. 增大内存。由于我是虚拟机,所有增大内存相对简单。在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 -sFilename 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 的时候,便解决了所有的问题了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航