DigitalOcean Droplet中Laravel项目root执行npm run dev出现权限错误
Laravel项目root执行npm run dev权限报错解决方案
问题原因
npm默认启用安全限制,禁止使用root账号执行脚本命令,避免恶意包获取服务器最高权限造成不可逆的安全风险。
解决方案
方案1(推荐):切换普通用户执行
- 首先查看项目目录所属用户,替换为你的项目实际路径执行:
ls -la /path/to/your/laravel/project
输出第一列的第三个和第四个字段分别为所属用户、用户组。 - 切换到项目所属普通用户,假设用户为
www-data,执行:su www-data - 进入项目目录后重新执行命令即可:
npm run dev
方案2(临时测试用,不推荐生产环境使用):添加参数绕过安全限制
如果临时需要用root执行,执行如下命令即可:npm run dev --unsafe-perm=true
补充方案:目录权限异常修复
如果上述操作完成后仍报错,按如下步骤重置权限与依赖:
- 清理现有依赖文件:
rm -rf node_modules package-lock.json - 修正项目目录权限,替换为你的项目实际路径与所属用户组:
chown -R www-data:www-data /var/www/laravel - 重新安装依赖:
npm install - 再次执行dev命令即可。
内容的提问来源于stack exchange,提问作者Wajahat
相关产品推荐
相关产品推荐

