Improve error handling for invalid setup for directory permissions

Offen
#800 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
javascript, nodejs
Bereich
backend

Rechercherichtung

Beginne in bin/lib/start.js und folge dann dem Startpfad durch lib/create-server.js, lib/create-app.js und lib/server-config.js, insbesondere der Initialisierung des Template-Verzeichnisses. Reproduziere den Start mit einem Verzeichnis, das nicht erstellt werden kann, und untersuche, wie der EACCES-Fehler gemeldet wird. Erledigt ist die Aufgabe, wenn der Berechtigungsfehler korrekt ausgegeben wird, statt als Root-Rechte- oder Portfehler gemeldet zu werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement

When I started the server, I got this error:
ERROR You need root privileges to start on this port

It doesn't make sense because I wasn't running on port 80. So debugging it more (added console statements), I found that the true error was the following:

{ Error: EACCES: permission denied, mkdir '/var/www/solid.mysite/config/templates'
    at Object.fs.mkdirSync (fs.js:885:18)
    at mkdirsSync (/usr/lib/node_modules/solid-server/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js:31:9)
    at Object.mkdirsSync (/usr/lib/node_modules/solid-server/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js:37:16)
    at Object.copySync (/usr/lib/node_modules/solid-server/node_modules/fs-extra/lib/copy-sync/copy-sync.js:49:37)
    at ensureDirCopyExists (/usr/lib/node_modules/solid-server/lib/server-config.js:25:8)
    at Object.initTemplateDirs (/usr/lib/node_modules/solid-server/lib/server-config.js:108:29)
    at createApp (/usr/lib/node_modules/solid-server/lib/create-app.js:45:27)
    at Function.createServer (/usr/lib/node_modules/solid-server/lib/create-server.js:15:18)
    at bin (/usr/lib/node_modules/solid-server/bin/lib/start.js:122:17)
    at fs.readFile (/usr/lib/node_modules/solid-server/bin/lib/start.js:41:7)
  errno: -13,
  code: 'EACCES',
  syscall: 'mkdir',
  path: '/var/www/solid.mysite/config/templates' }

It should assist the user to fix their permissions not run it in root.

Vorherrschende Sprache
JavaScript
Sterne
1.8k
Forks
308
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus nodeSolidServer/node-solid-server

Alle Issues in nodeSolidServer/node-solid-server

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.