首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决WSL 2中的bash:供应商/bin/grumphp:权限被拒绝的问题?

如何解决WSL 2中的bash:供应商/bin/grumphp:权限被拒绝的问题?
EN

Stack Overflow用户
提问于 2022-03-29 15:57:23
回答 1查看 607关注 0票数 0

docker-compose my-app up -d && docker-compose my-app exec app bash,然后当我的项目在Windows文件系统上运行时,vendor/bin/grumphp run就开始工作了。然后我moved it to WSL 2 (表示速度)。

现在:

代码语言:javascript
复制
vendor/bin/grumphp run # bash: vendor/bin/grumphp: Permission denied

我还在一个类似的问题中尝试了php vendor/bin/grumphp run作为suggested,它有点工作,但并不是真的:

代码语言:javascript
复制
Running task 1/6: phpcs... ✘
Running task 2/6: phplint... ✘
Running task 3/6: phpmd... ✘
Running task 4/6: phpstan... ✘
Running task 5/6: phpversion... ✔
Running task 6/6: yamllint... ✔
             ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
           ▄▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
         ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▄
        ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
       ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
  ▄███▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
 █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
 ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
   ▀█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
     ▀▀▓▓▓▓▓▓▓▓▓▓▓▓█▀▀▀▀▀▀▀▀▀▀▀▀▀▀████████████▄
      ▄███████                       ██████████
     ███████▀  ▀▀▀▀▀▄      ▄▀▀▀▀▀     █████ ▀
      ▐████      ▐██        ▐██        ████▌
      ████▌                            ███
       ▌██▌           ▄▄ ▄▄           ▐███
        ███       ▄▄▄▄▄▄▄▄▄▄▄▄       ▐███
         ██▄ ▐███████████████████████████
        █▀███████████▀     ▀▀███████████
          ██████████▄███████▄███████████
         ▐█████████████████████████████
          █████████████████████████████
           ██ █████████████████████▐██▀
            ▀ ▐███████████████████▌ ▐▀
                ████▀████████▀▐███
                 ▀█▌  ▐█████  ██▌
                        ██▀   ▐▀

       ██████████████████████████████████
       █░░░░░░▀█▀░░░░░░▀█░░░░░░▀█▀░░░░░▀█
       █░░▐█▌░░█░░░██░░░█░░██░░░█░░░██░░█
       █░░▐█▌░░█░░░██░░░█░░██░░░█░░░██░░█
       █░░▐█▌░░█░░░██░░░█░░░░░░▄█░░▄▄▄▄▄█
       █░░▐█▌░░█░░░██░░░█░░░░████░░░░░░░█
       █░░░█░░░█▄░░░░░░▄█░░░░████▄░░░░░▄█
       ██████████████████████████████████


phpcs
=====

The executable for "phpcs" could not be found.

phplint
=======

The executable for "parallel-lint" could not be found.

phpmd
=====

The executable for "phpmd" could not be found.

phpstan
=======

The executable for "phpstan" could not be found.
To skip commit checks, add -n or --no-verify flag to commit command

如何正确解决我的问题?

我不太喜欢使用sudo chmod__,但是现在任何工作解决方案都可以。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-06 14:06:27

嗯,“拒绝许可”应该是一个明显的线索,但我们到了。

  1. 去攻击您的容器。它将在您的项目的根上打开,很可能是/var/www/.

  1. 使用ls -la ./vendor/bin/列出所有二进制文件,并检查它们是否是可执行的,是否具有正确的所有者。第一列中的值类似于-rwxr-xr-x。您可以忽略第一个位,后面是三组三位。第一个组告诉您用户所有者、组所有者的第二个组和所有其他所有者的第三个组的权限。在每个组中,第一位告诉您文件是否可读,第二位是可写的,第三位是可执行的。第三列和第四列中的值告诉您用户和组所有者respectively.

  1. 使用chmod +x ./vendor/bin/<file>使文件可执行,并使用chown 1000:1000 ./vendor/bin/<file>更改其所有者。用以下每一个替换:grumphpphpmdphpstanphpunit和/或您需要的其他任何东西。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71665237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档