エンジニアを目指す日常ブログ

日々勉強したことのメモ。独学ですので間違っていたらコメント等で教えてください。

Node.jsのコマンド実行時にメモリが足りないエラーが発生

はじめに

以下手順にしたがってgatsbyによるWebページ作成を試していたところ、想定外のエラーが発生した。結果的にVagrantのメモリを大きくすることで解決したので、対処法をメモ。

Gatsbyの導入|Gatsby入門

発生したエラー

以下コマンドで gatsbyプロジェクトを作成したところ、エラーが発生。

$ gatsby new hello-world https://github.com/gatsbyjs/gatsby-starter-hello-world
npm ERR! code ENOMEM
npm ERR! syscall spawn
npm ERR! errno -12
npm ERR! spawn ENOMEM
npm ERR! code ENOMEM
npm ERR! syscall spawn
npm ERR! errno -12
npm ERR! spawn ENOMEM

npm ERR! A complete log of this run can be found in:

 ERROR

Command failed with exit code 244: npm install


  Error: Command failed with exit code 244: npm install

対処方法

code ENOMEM syscall spawn errno -12で検索すると、メモリが足りないエラーのようだった。

上記のコマンドはVagrant + VirtualBoxを用いて仮想Linuxサーバ上で実行しているため、仮想環境に割り当てているメモリが足りないのだと思われた。

そこで、仮想環境の設定ファイルVagantfileを変更する。

手順

Vagrantを終了

$ vagrant halt

設定ファイルの修正

vb.memoryの値を1024から2048に変更した。

Vagrantfile

  config.vm.provider "virtualbox" do |vb|
    vb.memory = "2048"
  end

Vagrantの立ち上げ

vagrant up
vagrant ssh

再度同じコマンドを実行すると、最後まで完了させることができた。

おわりに

メモリが足りないエラーが出たのが初めてだったので少し苦戦した。

参考資料

Vagrantに関するメモはこちら。

tomiko0404.hatenablog.com