打印时 PM2 App 被拒绝许可

PM2 App gets permission denied when printing

我有一个 运行 pm2 应用程序,该应用程序的打印方法失败并显示 EACCES:权限被拒绝,打开 /dev/sopa_printer0 但是,如果使用节点手动执行应用程序,它会毫无问题地打印出来。打印机是/dev/sopa_printer0

来自 pm2 日志:

Print failed Print failed: Error: EACCES: permission denied, open '/dev/sopa_printer0'

从命令行:node server.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