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
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
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:
- reboot the server
- reinstall nodejs ( I install nodejs directly with
yum
not usingnvm
) - 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
andnpm run prod
resulted in failed or crash
2
Answers
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
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
Just 2 days back I was facing the same problem when running
npm run prod
. The command would start and then after 2 mins it would terminate, leaving me with nothing.Then I came across Swap Memory. I followed this answer How do you add swap to an EC2 instance? and added a swap memory to my hosting server.
Here are the steps:
To confirm this, run
htop
and you will seeSwp [|||| 0K/1.00G]
I still recommend going through the post to understand this better.