Wednesday, February 7, 2024

[SOLVED] npm run build in php Laravel hang or exit

Issue

I'm trying to deploy a Laravel project to my server with this specs:

  • OS: CentOS Linux release 7.8.2003
  • Nodejs: 13.14.0
  • npm: 6.14.5
  • 1 CPU
  • 4GB Ram

Everything was fine but a step, as I use ReactJS with Laravel I have to run npm run dev to let webpack build my assets files. (This is just the step to build the view, it run fine on my local machine and my friend's, with the different of os, MacOS and Ubuntu).

But when I run npm run dev the system either hang like this

[spyets@vultr current]$ npm run dev

> @ dev /home/spyets/public_html/yamlive/releases/3
> npm run development


> @ development /home/spyets/public_html/yamlive/releases/3
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js

enter image description here

or show this error

Exit Code: 254 (Unknown error)                                                    

  Host Name: development                                                            

  ================                                                                  
  bash: fork: retry: No child processes                                             
  bash: fork: retry: No child processes                                             
  bash: fork: retry: No child processes                                             
  bash: fork: retry: No child processes                                             
  bash: fork: Resource temporarily unavailable 

enter image description here

I don't know if this give you more information, I run a vtop (a terminal management tool?) and every time I run the npm run dev command, vtop just crashed

What I tried:

  1. reboot the server
  2. reinstall nodejs ( I install nodejs directly with yum not using nvm )
  3. upgrade nodejs from 12.20.2 to 13.14.0 ( as it currently in 13.14.0 )

I'm new to Centos and deployment.

Edit

  • I also tried to make swapfile and add 3GB of swap
  • I tried remove node_modules and reinstall with npm install multiple times
  • Running both npm run dev and npm run prod resulted in failed or crash

Solution

After a lot of google and inspects, I found out that my system user ( ssh user ) have been create with limited access to the os resources.

My user config file was located in /etc/security/limits.d/example_user.conf

example_user soft nproc 40
example_user hard nproc 40
example_user soft nofile 150
example_user hard nofile 150

My Solution:

I backed up the file, deleted it in the /etc/security/limits.d/ directory and reboot the system.

The npm command successfully running now.

I read this document to find out about the error.

limits.d configuration document



Answered By - Brody
Answer Checked By - Mary Flores (WPSolving Volunteer)