You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装Laravel8与Sail后执行sail up提示Permission denied错误如何解决

报错原因

该报错是因为vendor/laravel/sail/bin/sail脚本缺少可执行权限,Linux/Unix 类系统下无执行权限的脚本无法被直接调用运行。

解决方案

方案1:手动添加执行权限(最常用)

直接给目标脚本添加可执行权限,执行命令:
chmod +x vendor/laravel/sail/bin/sail
执行完成后重新运行./vendor/bin/sail up即可正常启动。
如果后续还出现同系列脚本权限问题,可以批量给sail的bin目录加执行权限:
chmod -R +x vendor/laravel/sail/bin/

方案2:临时应急调用(无需修改文件权限)

如果不想修改文件权限,可以直接用PHP解释器调用脚本运行,命令如下:
php vendor/laravel/sail/bin/sail up

方案3:配置Composer钩子自动处理(避免重复操作)

如果每次执行composer install或composer update后都会出现该问题,可以在项目composer.json中添加自动执行脚本,每次依赖安装/更新完成后自动给sail加权限:
找到composer.json中的scripts节点,修改为以下内容:

"scripts": {
    "post-install-cmd": [
        "@php artisan package:discover --ansi",
        "chmod +x vendor/laravel/sail/bin/sail"
    ],
    "post-update-cmd": [
        "@php artisan package:discover --ansi",
        "chmod +x vendor/laravel/sail/bin/sail"
    ]
}
注意事项
  • 不要给整个vendor目录设置777一类的高权限,会带来严重安全风险,仅给需要执行的特定脚本加权限即可
  • 如果是用root用户安装的Composer依赖,建议切换到项目所属的普通用户重新执行composer install,避免后续出现更多权限相关问题
  • 如果是WSL环境且项目存放在Windows挂载的盘符下,需要修改WSL的fstab配置给挂载盘增加可执行权限,避免每次系统重启后权限被重置

内容的提问来源于stack exchange,提问作者cerberusphp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:45:09