微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bash – 以root身份查找composer全局安装路径

我在脚本中使用PHP composer全局安装了一些PHP

sudo -u me composer global require "PHPmd/PHPmd"

我想找到这些全局安装的PHP包的路径.当我以用户身份运行哪个PHPmd时,我得到了完整的路径.

/home/me/.composer/vendor/bin/PHPcs

但是,当我尝试以sudo运行命令时,我什么都没得到.我认为这是因为composer已被全局添加并且在我的用户mes PATH中,而它在sudo的PATH中不存在.

相反,我试过了

 path="$(sudo -u me which PHPcs)"

但这也失败了.但是,对于未通过composer安装的任何程序,它都会成功.如何通过composer作为sudo找到全局安装的PHP包?

我的道路

/home/me/.composer/vendor/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

sudo(su’s)的道路

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

解决方法:

正如您在路径差异中所注意到的那样,问题在于我的路径包括/home/me/.composer/vendor/bin. Sudo不会继承用户的环境.

您需要手动导入它.目前还不清楚为什么你希望root在其路径中查看特定用户文件.

查找文件,可以使用find命令,例如find / home -name FileName.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐