nodeSolidServer / nodeSolidServer/node-solid-server
Improve error handling for invalid setup for directory permissions
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- JavaScript
- Star
- 1.8k
- Fork
- 308
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
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.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu từ bin/lib/start.js, sau đó lần theo luồng khởi động qua lib/create-server.js, lib/create-app.js và lib/server-config.js, đặc biệt là phần khởi tạo thư mục template. Tái hiện quá trình khởi động với một thư mục không thể được tạo và kiểm tra cách lỗi EACCES được báo cáo. Hoàn thành khi lỗi quyền được báo chính xác thay vì bị báo cáo là lỗi đặc quyền root hoặc lỗi cổng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- javascript, nodejs
- Lĩnh vực
- backend
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100