节点应用程序获取“错误:EACCES:权限被拒绝,mkdir'.tmp'

我在我的覆盆子pi上运行node-red,并试图find一个我自己编写的节点。 该节点在我的Windows PC上工作正常,但我还没有能够得到它在我的pi工作。

我的节点使用mailin来设置SMTP服务器,但我不认为这是该包的问题。

邮件试图创build一个临时文件夹,但它显然没有权限。 我如何给节点的权限,它需要能够创build此文件夹?

完整的错误:

5 Apr 20:06:22 - [info] Starting flows shell.js: internal error Error: EACCES: permission denied, mkdir '.tmp' at Error (native) at Object.fs.mkdirSync (fs.js:794:18) at mkdirSyncRecursive (/home/pi/.node-red/node_modules/node-red-contrib-mailin-smtp/node_modules/mailin/node_modules/shelljs/src/mkdir.js:11:8) at /home/pi/.node-red/node_modules/node-red-contrib-mailin-smtp/node_modules/mailin/node_modules/shelljs/src/mkdir.js:63:7 at Array.forEach (native) at Object._mkdir (/home/pi/.node-red/node_modules/node-red-contrib-mailin-smtp/node_modules/mailin/node_modules/shelljs/src/mkdir.js:48:8) at Object.mkdir (/home/pi/.node-red/node_modules/node-red-contrib-mailin-smtp/node_modules/mailin/node_modules/shelljs/src/common.js:186:23) at Mailin.start (/home/pi/.node-red/node_modules/node-red-contrib-mailin-smtp/node_modules/mailin/lib/mailin.js:73:15) at new MailinSMTP (/home/pi/.node-red/node_modules/node-red-contrib-mailin-smtp/mailinSMTP.js:15:10) at createNode (/usr/lib/node_modules/node-red/red/runtime/nodes/flows/Flow.js:276:18) at Flow.start (/usr/lib/node_modules/node-red/red/runtime/nodes/flows/Flow.js:64:35) at start (/usr/lib/node_modules/node-red/red/runtime/nodes/flows/index.js:264:29) at tryCatchReject (/usr/lib/node_modules/node-red/node_modules/when/lib/makePromise.js:845:30) at runContinuation1 (/usr/lib/node_modules/node-red/node_modules/when/lib/makePromise.js:804:4) at Fulfilled.when (/usr/lib/node_modules/node-red/node_modules/when/lib/makePromise.js:592:4) at Pending.run (/usr/lib/node_modules/node-red/node_modules/when/lib/makePromise.js:483:13) nodered.service: main process exited, code=exited, status=1/FAILURE 

非常感谢

这里的问题是mailin试图在不允许的节点的根文件夹内创build一个临时文件夹。 看着mailin的代码,虽然我能够通过一个不同的文件夹用于临时文件。 我通过添加一个tmp属性到configuration对象,并将其设置为os.tempdir()/mailin