配置访问令牌或SSH密钥并声明私有仓库地址,是Composer安装私有包的核心。通过GitHub/GitLab的Personal Access Token或SSH密钥认证,结合composer.json中repositories的vcs类型配置,即可实现私有包拉取。

Composer 处理需要授权的私有包,核心在于配置正确的访问凭证和仓库地址。它本身不存储代码,而是从你指定的源(如 GitHub、GitLab 等)拉取,并在过程中使用你提供的凭据进行身份验证。
提供访问令牌 (Token)
对于托管在 GitHub、GitLab 等平台的私有仓库,最常用的方法是使用个人访问令牌(PAT)。
-
GitHub:生成一个具有
repo权限的 Personal Access Token。然后通过命令composer config --global github-oauth.github.com将其设为全局配置,或去掉--global仅用于当前项目。 -
GitLab:创建一个 Personal Access Token,作用域至少包含
read_repository。配置方式与 GitHub 类似,但需在composer.json的repositories中明确指定 GitLab 的 API 地址和认证信息,或使用 Composer 的全局配置命令。
配置 SSH 密钥
如果你更习惯使用 SSH,可以将公钥添加到代码托管平台的账户中,并在本地配置好 SSH 密钥对。
- 确保你的
~/.ssh目录下有可用的密钥(如id_rsa和id_rsa.pub),并将公钥内容添加至 GitHub/GitLab 账户。 - 在
composer.json中,repositories的url使用 SSH 格式,例如:"url": "git@gitlab.com:username/private-package.git"。Composer 会自动使用 SSH 协议进行克隆,无需在命令中暴露密码或令牌。
声明私有仓库地址
无论使用哪种认证方式,都必须在项目的 composer.json 文件里声明私有包所在的仓库位置。
- 在
composer.json中添加repositories字段,类型设为vcs(版本控制系统),并填入仓库的 URL。例如:{ "repositories": [ { "type": "vcs", "url": "https://github.com/username/private-package.git" } ] } - 完成认证和仓库声明后,像安装公共包一样运行
composer require vendor/package-name,Composer 就能顺利下载并安装你的私有包了。










