`npm install` 以“Killed”结尾

Posted

技术标签:

【中文标题】`npm install` 以“Killed”结尾【英文标题】:`npm install` ends with "Killed" 【发布时间】:2016-11-02 19:38:30 【问题描述】:

我正在尝试在 Ubuntu 16.04 服务器上运行 Telescope(一个流星应用程序)。我按照自述文件中的说明进行操作:

curl https://install.meteor.com/ | sh
git clone git@github.com:TelescopeJS/Telescope.git
npm install

前两个命令运行没有错误,但最后一个命令以Killed结尾:

$ npm install
npm WARN deprecated cross-spawn-async@2.2.4: cross-spawn no longer requires a build toolchain, use it instead!
extract:moment → gunzTarP ▐ ╢█████████████████████████████████████████████████░░░░░░░░░░╟
Killed

由于它没有提供任何信息,我不确定这里可能有什么问题。有谁知道我该如何解决这个问题?欢迎所有提示!

[编辑] 在 cmets 中使用@Mills 的尖端,我首先运行npm install cross-spawn,然后再次运行npm install。这解决了npm install 问题,但是当我现在尝试使用meteor 运行应用程序时,它再次以“Killed”结尾:

$ meteor
Killednloading meteor-tool@1.3.2_4...        |

还有什么想法吗?

【问题讨论】:

看起来 cross-spawn-async 已被弃用,请尝试 npmjs.com/package/cross-spawn 代替 @Mills - 我对 npm 不是很熟悉。你能解释一下我是怎么做到的吗? 尝试运行npm install cross-spawn,然后再次运行npm install,看看是否可行。看起来发生的事情是当您运行 npm install npm 查看由 telesope 提供的 package.json 并运行已弃用的包时 它确实解决了这个问题。感谢那。但是当我现在尝试使用meteor 运行应用程序时,它再次以“Killed”结尾。有什么想法吗? 错误信息在给你“killed”输出之前说了什么?在我看来,在望远镜回购上打开一个问题可能是最好的,因为构建过程不应该被破坏。 【参考方案1】:

在 14.04 和 16.04 解决这个问题:

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo sysctl vm.swappiness=10
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl vm.vfs_cache_pressure=50
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf

这将创建一个 1GB 的交换文件

【讨论】:

为我工作。谢谢你。 ?? 如果我的服务器只有 512 mb 的内存怎么办?【参考方案2】:

在具有单核 CPU 和 1GB RAM 的 VM 中运行 npm run build 时遇到了同样的问题。将 RAM 增加到 4GB 解决了这个问题。

【讨论】:

【参考方案3】:

或者你可以在其他地方做 npm install 。我在我的 Windows 上完成了它,并将所有带有 ftpclient 的 nodemodules 目录上传到服务器。对我有用

【讨论】:

这在某些情况下是行不通的。一些 Node 模块包含可能依赖于系统的二进制组件。 (举个明显的例子:来自 Linux 系统的node_modules 不能移植到 Windows,反之亦然。) 另外,node_modules 是一个包含数千个文件的庞大文件夹,这个传输不会很快。【参考方案4】:

我有同样的问题,我的解决方案:

  sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
  sudo /sbin/mkswap /var/swap.1
  sudo /sbin/swapon /var/swap.1

这个命令改变了交换的配置

【讨论】:

非常感谢,它对我有用。我使用 Digital Ocean 最小服务器(512 MB),这个解决方案对我有用。 free -m total used free shared buff/cache available Mem: 7938 4968 278 92 2690 2594 Swap: 5119 2 5117 在此之后我运行了 npm install 命令但我得到了 sudo npm install npm WARN deprecated ng2 -filter-pipe@0.1.10:改用 ngx-filter-pipe。 npm WARN deprecated typings@2.1.1: Typings is deprecated for NPM @types -- 有关更多信息,请参阅 README 已杀......] / fetchMetadata: sill mapToRegistry uri registry.npmjs.org/webpack-subresource-integrity跨度> 你好湿婆!请发布您的 package.json 非常感谢,在 t2.nano AWS EC2 配置中它工作正常。 完美。在 AWS Lighsail 上为我的 Ubuntu LTS 18.4 工作。谢谢!【参考方案5】:

我在安装 npm 包时遇到了类似的问题,并收到消息“Killed”和非零退出状态。对于我的场景,这是因为我的系统内存不足并且我没有配置交换。配置交换解决了我的问题。

【讨论】:

我正在使用默认设置(RAM 中 512MB)运行一个 vagrant box。添加 2 个 CPU 和 1024MB RAM 为我解决了这个问题。 我限制了我的 docker 容器的资源。虚幻。添加memswap_limit 解决了这个问题。谢谢。 在 docker 中面临同样的问题只是减少容器内存及其工作 我按照digitalocean.com/community/tutorials/… 在 ubuntu 上设置交换,虽然它看起来有点旧。到目前为止一切顺利。 @zakariaamine this DigitalOcean article 是您链接到的文章的更新版本(适用于 Ubuntu 18.04)【参考方案6】:

尝试running npm install cross-spawn,然后再次尝试npm install,看看是否有效。看起来发生的事情是当您运行 npm install npm 查看由 telesope 提供的 package.json 并运行已弃用的包时

【讨论】:

以上是关于`npm install` 以“Killed”结尾的主要内容,如果未能解决你的问题,请参考以下文章

composer killed while updating or install

临时解决执行 Composer Install 返回 Killed 的问题

“没有 TranslateService 的提供者”错误以某种方式连接到 npm install

npm install --save 与 npm install --save-dev 的区别

npm install --save 与 npm install --save-dev 的区别

使用 npm install 安装 Angular CLI 失败