【问题标题】:node application getting "Error: EACCES: permission denied, mkdir '.tmp'节点应用程序获取“错误:EACCES:权限被拒绝,mkdir '.tmp'
【发布时间】:2016-04-05 19:31:19
【问题描述】:

我在我的树莓派上运行 node-red 并试图获得一个我自己编写的节点来处理它。该节点在我的 Windows PC 上运行良好,但我还不能让它在我的 pi 上运行。

我的节点使用mailin 来设置一个 SMTP 服务器,但我认为该包没有问题。

mailin 正在尝试创建一个临时文件夹,但它显然没有权限。如何授予节点创建此文件夹所需的权限?

完全错误:

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

非常感谢

【问题讨论】:

  • 你是如何启动 node-red 以及从哪个目录开始的?
  • 我使用 node-red-start,我使用 node-red 站点上的手动安装说明进行设置
  • 这通常来自我的用户目录,有时来自 .node-red
  • 不知道如何解决这个问题??
  • 邮件列表中的这类东西你会做得更好

标签: node.js raspberry-pi raspbian node-red


【解决方案1】:

这里的问题是 mailin 试图在不允许的节点的根文件夹中创建一个临时文件夹。尽管我能够传递不同的文件夹以用于临时文件,但查看 mailin 的代码。我通过向配置对象添加一个 tmp 属性并将其设置为 os.tempdir()/mailin

来做到这一点

【讨论】:

    猜你喜欢
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 2018-03-01
    • 2022-07-12
    • 2014-01-24
    • 1970-01-01
    • 2019-05-28
    相关资源
    最近更新 更多