nodeSolidServer / nodeSolidServer/node-solid-server

Improve error handling for invalid setup for directory permissions

オープン
#800 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

enhancement
主要言語
JavaScript
スター
1.8k
フォーク
308
PR マージ指標
30日以内にマージされた PR はありません

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

bin/lib/start.js から始め、lib/create-server.js、lib/create-app.js、lib/server-config.js を通る起動パスを追跡します。特にテンプレートディレクトリの初期化を確認してください。作成できないディレクトリを使って起動を再現し、EACCES の失敗がどのように報告されるかを調べます。権限エラーが正確に表面化し、root 権限またはポートのエラーとして報告されなければ完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, nodejs
領域
backend
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。