php - 以某种方式安装 Composer ,以便其他用户也可以使用其全局供应商目录、缓存等

标签 php linux shell composer-php

作为“根”用户,我安装了我的 Composer curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin -- --filename=composer 默认情况下在/root/.composer 中创建供应商目录、缓存等。我想以 root 身份安装一些全局包,让其他用户使用这些包。例如

> whoami 
root
> composer global require hirak/prestissimo  (It makes packages download in parallel)
> su www-data
> cd /var/www/drupal
> composer install

预期行为:它应该在全局安装 hirak/prestissimo 时并行下载包,但事实并非如此。因为当我安装那个包时它在/root/.composer/vendor 里面并且在切换到 www-data 之后它无法读/写/root/.composer/vendor

最佳答案

我会使用绑定(bind)挂载,这里有一篇关于堆栈交换的帖子,比我能做到的更详细地介绍了它:

https://unix.stackexchange.com/questions/198590/what-is-a-bind-mount

我之前用它来摆脱 CHROOT 限制,例如 C-Panel 用户被限制在 /home/user 上,所以他们不能访问上面的任何内容。使用绑定(bind)安装,您可以将上面的文件夹链接到其 Jail 中的文件夹。

关于php - 以某种方式安装 Composer ,以便其他用户也可以使用其全局供应商目录、缓存等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52882505/

相关文章:

javascript - Ajax 调用给我一个未定义的 - 未定义的错误?

linux - 如何在不影响发件人的情况下丢弃出站 UDP 数据包?

linux - 接受可选参数的 Shell 脚本

regex - 是否有使用正则表达式更改文件名的 grep 或 shell 脚本?

php - 调用未定义函数 simplexml_load_string()

PHP登录系统,如何保护它

php - javascript 获取 php 变量不起作用

c - 从进程中卸载/删除共享库

linux - 当从 Linux 机器调用时,Excel 作为后台进程启动。我需要它作为一个应用程序

Delphi在Windows资源管理器右键添加菜单项