我有一个正在运行的 pm2 应用程序,该应用程序的打印方法因 EACCES 而失败:权限被拒绝,打开/dev/sopa_printer0 但是,如果使用节点手动执行应用程序,则打印没有问题。打印机是/dev/sopa_printer0
从 pm2 日志:
Print failed Print failed: Error: EACCES: permission denied, open '/dev/sopa_printer0'
从命令行:节点服务器.js 它打印正确。
知道我可以从哪里开始调试吗?
node version 10.0.0
npm version 6.0.0
pm2 version 2.10.3
我使用以下方法将我的用户添加到 lp 组:
sudo adduser $USER lp
cat /etc/group | grep -i lp
lp:x:7:imagineing
想象是我的用户
$ ls -alh /dev/sopa_printer0
lrwxrwxrwx 1 root root 7 May 26 12:35 /dev/sopa_printer0 -> usb/lp0
$ ls -alh /dev/usb/lp0
crw-rw---- 1 root lp 180, 0 May 26 12:35 /dev/usb/lp0
最后我解决了我的问题。我将 777 添加到/dev/usb/lp0 设备(我认为其他组合可以工作,但应用程序现在可以工作(
$ ls -al sopa_printer0
lrwxrwxrwx 1 root root 7 May 26 12:35 sopa_printer0 -> usb/lp0
$ ls -al usb/lp0
crwxrwxrwx 1 root lp 180, 0 May 26 12:35 usb/lp0