启动Rails服务器时遭遇权限问题求助
解决Ubuntu下Rails应用需sudo启动的权限问题
问题分析
核心原因是项目目录文件/目录所有权混乱:之前用sudo rails s启动时,生成的log/development.log、tmp/pids/server.pid等文件被创建为root用户所有,普通用户无读写权限。仅修改单个log文件权限无法解决,因为tmp目录及其中文件也存在权限问题。
解决方案
1. 重置项目目录所有权
递归将整个项目目录的所有者改为当前用户(避免单个文件修改遗漏):
sudo chown -R $USER:$USER /home/maxycle/code/collaborasound
2. 清理残留临时文件
删除tmp目录下的缓存、pid文件(这些文件可能仍保留root权限):
rm -rf /home/maxycle/code/collaborasound/tmp/*
3. 验证并启动应用
先检查log和tmp目录权限是否正常(输出中所有者应为你的用户名):
ls -ld /home/maxycle/code/collaborasound/log /home/maxycle/code/collaborasound/tmp
之后直接用普通用户启动:
rails s
注意事项
绝对不要用sudo启动Rails开发服务器,这会持续导致文件所有权混乱,引发各类权限问题。
内容的提问来源于stack exchange,提问作者Maxime
相关产品推荐
相关产品推荐

