nayan verma
nayan verma

Reputation: 105

Getting error ‘node’: No such file or directory while setting up laravel-echo-server with supervisor

I'm setting up laravel-echo-server to start from the supervisor but I'm getting this error log

/usr/bin/env: ‘node’: No such file or directory
/usr/bin/env: ‘node’: No such file or directory
/usr/bin/env: ‘node’: No such file or directory
/usr/bin/env: ‘node’: No such file or directory

My supervisor.conf file has script :

; supervisor config file

[unix_http_server]
file=/var/run/supervisor.sock   ; (the path to the socket file)
chmod=0770                       ; sockef file mode (default 0700)
chown=root:supervisor

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor            ; ('AUTO' child log dir, default $TEMP)

; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL  for a unix socket

; The [include] section can just contain the "files" setting.  This
; setting can list multiple files (separated by whitespace or
; newlines).  It can also contain wildcards.  The filenames are
; interpreted as relative to this file.  Included files *cannot*
; include files themselves.

[include]
files = /etc/supervisor/conf.d/*.conf

The laravel-echo.conf has this script

[program:echo-server]
directory=/var/www/html/nowme_realchat
command= /home/nayan/.nvm/versions/node/v10.15.1/bin/laravel-echo-server start
autostart=true
autorestart=true
startsecs=0
user=root
redirect_stderr=true
stdout_logfile=/var/www/html/nowme_realchat/storage/logs/echoserver.log

I have reread the conf file

sudo supervisorctl reread

and update scripts

sudo supervisorctl update

and got an error with sudo supervisorctl status:

echo-server                      FATAL     Exited too quickly (process log may have details)

How can I fix this problem?

Upvotes: 2

Views: 1250

Answers (2)

nayan verma
nayan verma

Reputation: 105

So I have seen this after 2 years and wants to add my findings in order to fix the above issue:

The problem was with the path where node was not found. In order to fix this problem I have created symlink for node and npm

sudo ln -s "$(which node)" /usr/bin/node
sudo ln -s "$(which npm)" /usr/bin/npm

We can also create a symlink for our laravel-echo-server in order to get rid off from the long absolute path.

sudo ln -s /home/vermajnv/.nvm/versions/node/v14.17.1/bin/laravel-echo-server /usr/bin/laravel-echo-server

And now we can change the command in laravel-echo.conf like this

command=laravel-echo-server start

Now reread and update supervisorctl service again and things will fine now.

Upvotes: 0

Node is not defined.

/home/nayan/.nvm/versions/node/v10.15.1/bin/node

Add key to command.

--dir={path_project}

Example

[program:echo-server]
directory={path_project}
command=/home/nayan/.nvm/versions/node/v10.15.1/bin/node /home/nayan/.nvm/versions/node/v10.15.1/bin/laravel-echo-server start --dir={path_project}
autostart=true
autorestart=true
user=root
redirect_stderr=true
stdout_logfile={path_project}/storage/logs/echoserver.log

Upvotes: 2

Related Questions