在laravel
我必须在我的laravel项目中设置laravel-echo-server。我已成功安装它,当我从终端运行时它运行正常。但是当从主管运行时,它会抛出错误
找不到模块'node-v46-linux-x64 / node_sqlite3.node'
我几乎花了两天时间来解决这个问题。但我没有成功。所以,如果有人知道答案,我们将不胜感激。
以下是所有步骤/配置详细信息。
- 安装节点7.10.0()
- 全局安装laravel-echo-server并在我的项目中初始化它
完成这些步骤后,如果我从终端运行'laravel-echo-server start',它将完美运行。
现在我必须在主管中设置此命令。所以我已经执行了这些步骤。
- 创建laravel-echo-server的符号链接(
sudo ln -s /usr/lib/nodejs/node-v7.10.0/lib/node_modules/laravel-echo-server/bin/server.js /usr/bin/laravel-echo-server
) - 在主管中设置'laravel-echo-server start'命令
以下是主管的详细信息。
文件位置:
/etc/supervisor/conf.d/laravel.conf
[program:laravel-echo-server] command=/usr/bin/laravel-echo-server start --dir=/var/www/html/laravel autostart=true autorestart=true stderr_logfile=/var/www/html/laravel/laravel-echo-server-err.log stdout_logfile=/var/www/html/laravel/laravel-echo-server-out.log
- 运行
sudo supervisorctl reread
和sudo supervisorctl update
- 运行
sudo supervisorctl start laravel-echo-server
但它会引发错误。这是错误日志。
Error: Cannot find module '/usr/lib/nodejs/node-v7.10.0/lib/node_modules/laravel-echo-server/node_modules/sqlite3/lib/binding/node-v46-linux-x64/node_sqlite3.node'
at Function.Module._resolveFilename (module.js:326:15)
at Function.Module._load (module.js:277:25)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/usr/lib/nodejs/node-v7.10.0/lib/node_modules/laravel-echo-server/node_modules/sqlite3/lib/sqlite3.js:4:15)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/usr/lib/nodejs/node-v7.10.0/lib/node_modules/laravel-echo-server/dist/database/sqlite.js:3:15)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
在node-v51-linux-x64
有/usr/lib/nodejs/node-v7.10.0/lib/node_modules/laravel-echo-server/node_modules/sqlite3/lib/binding
目录。
最后我解决了这个问题。我已经按照这个步骤。
- Completly uninstall nodejs, npm and node
- Installing Node.js via package manager
我已在第2步中运行此命令。
curl -sL https://deb.nodesource/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
然后我安装了laravel-echo-server。一切都适合我。但是如果你得到权限错误,你应该运行sudo chown -R $USER /usr/lib/node_modules
。在符号链接错误的情况下运行sudo ln -sfn ../lib/node_modules/laravel-echo-server/bin/server.js /usr/bin/laravel-echo-server
。
在laravel
我必须在我的laravel项目中设置laravel-echo-server。我已成功安装它,当我从终端运行时它运行正常。但是当从主管运行时,它会抛出错误
找不到模块'node-v46-linux-x64 / node_sqlite3.node'
我几乎花了两天时间来解决这个问题。但我没有成功。所以,如果有人知道答案,我们将不胜感激。
以下是所有步骤/配置详细信息。
- 安装节点7.10.0()
- 全局安装laravel-echo-server并在我的项目中初始化它
完成这些步骤后,如果我从终端运行'laravel-echo-server start',它将完美运行。
现在我必须在主管中设置此命令。所以我已经执行了这些步骤。
- 创建laravel-echo-server的符号链接(
sudo ln -s /usr/lib/nodejs/node-v7.10.0/lib/node_modules/laravel-echo-server/bin/server.js /usr/bin/laravel-echo-server
) - 在主管中设置'laravel-echo-server start'命令
以下是主管的详细信息。
文件位置:
/etc/supervisor/conf.d/laravel.conf
[program:laravel-echo-server] command=/usr/bin/laravel-echo-server start --dir=/var/www/html/laravel autostart=true autorestart=true stderr_logfile=/var/www/html/laravel/laravel-echo-server-err.log stdout_logfile=/var/www/html/laravel/laravel-echo-server-out.log
- 运行
sudo supervisorctl reread
和sudo supervisorctl update
- 运行
sudo supervisorctl start laravel-echo-server
但它会引发错误。这是错误日志。
Error: Cannot find module '/usr/lib/nodejs/node-v7.10.0/lib/node_modules/laravel-echo-server/node_modules/sqlite3/lib/binding/node-v46-linux-x64/node_sqlite3.node'
at Function.Module._resolveFilename (module.js:326:15)
at Function.Module._load (module.js:277:25)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/usr/lib/nodejs/node-v7.10.0/lib/node_modules/laravel-echo-server/node_modules/sqlite3/lib/sqlite3.js:4:15)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/usr/lib/nodejs/node-v7.10.0/lib/node_modules/laravel-echo-server/dist/database/sqlite.js:3:15)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
在node-v51-linux-x64
有/usr/lib/nodejs/node-v7.10.0/lib/node_modules/laravel-echo-server/node_modules/sqlite3/lib/binding
目录。
最后我解决了这个问题。我已经按照这个步骤。
- Completly uninstall nodejs, npm and node
- Installing Node.js via package manager
我已在第2步中运行此命令。
curl -sL https://deb.nodesource/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
然后我安装了laravel-echo-server。一切都适合我。但是如果你得到权限错误,你应该运行sudo chown -R $USER /usr/lib/node_modules
。在符号链接错误的情况下运行sudo ln -sfn ../lib/node_modules/laravel-echo-server/bin/server.js /usr/bin/laravel-echo-server
。