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

Ubuntu 22.04下如何设置composer install默认生成775权限的vendor文件夹?

如何让Composer默认生成775权限的vendor文件夹(Ubuntu 22.04)

能不能默认设置为drwxrwxr-x(775)?

可以,主要通过调整umask掩码或Composer自身配置实现,两台服务器的权限差异也源于这两个配置的不同。

具体实现方法

1. 临时执行(单次生效)

执行Composer前临时设置umask,本次生成的vendor及依赖文件都会采用775权限:

umask 002 && composer install

umask是系统控制新建文件/目录默认权限的掩码,目录默认权限为777 - umask值,777-002=775刚好符合需求。

2. 永久设置当前用户的umask(全局生效)

编辑用户的shell配置文件(比如~/.bashrc或~/.profile),添加一行:

umask 002

执行以下命令让配置立即生效:

source ~/.bashrc

之后该用户每次执行Composer,生成的目录都会默认是775权限。

3. 项目级Composer配置(仅当前项目生效)

在项目根目录的composer.json中添加umask配置,强制Composer使用指定掩码:

{
    "config": {
        "umask": 002
    }
}

保存后执行composer install,就能确保该项目的vendor权限为775,不受系统umask影响。

服务器权限差异的原因

两台服务器的核心差异在于umask设置或Composer配置:

  • 系统默认umask通常是022(生成755权限),若某台服务器修改了用户级(~/.bashrc)或系统级(/etc/profile、/etc/bash.bashrc)的umask为002,就会生成775权限的vendor。
  • 也可能是其中一台服务器的Composer全局配置(~/.composer/config.json)中设置了umask项,另一台没有。

内容的提问来源于stack exchange,提问作者Poul D.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 11:47:42