2016-04-05 17 views
1

Ich bin Node-rot auf meinem Raspberry Pi laufen und versuche, einen Knoten zu bekommen, die ich schrieb mir selbst arbeiten. Der Knoten funktioniert gut auf meinem Windows-PC, aber ich habe nicht in der Lage gewesen, es noch auf meinem pi zum Laufen zu bringen.Node-Anwendung bekommen "Fehler: EACCES: Berechtigung verweigert, Mkdir '. Tmp'

Mein Knoten mailin Setup verwendet einen SMTP-Server, aber ich glaube nicht, dass es ein Problem mit diesem Paket.

mailin ist versuchen, einen temporären Ordner zu erstellen, aber es hat offensichtlich keine Berechtigungen Wie erstelle ich Node die Berechtigungen, die er benötigt, um diesen Ordner erstellen zu können?

voller Fehler:

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 

Vielen Dank

+0

festlegte Wie starten Sie Knoten rot und aus welchem ​​Verzeichnis? – hardillb

+0

Ich benutze node-red-start, die ich mit den manuellen Installationsanweisungen auf der node-rote Website – Roaders

+0

Das ist in der Regel von meinem Benutzerverzeichnis, manchmal von .Node-rot – Roaders

Antwort

1

Das Problem dabei war, dass mailin versuchte, einen temporären Ordner im Stammordner für den Knoten zu erstellen, die nicht erlaubt war. Ich sah mir den Code für Mail an, obwohl ich einen anderen Ordner für temporäre Dateien übergeben konnte. Ich tat dies, indem ich dem config-Objekt eine tmp-Eigenschaft hinzufügte und es auf os.tempdir()/mailin

Verwandte Themen