0

0

如何使用cgr(Composer Global Require)来隔离全局工具?

穿越時空

穿越時空

发布时间:2026-01-19 15:21:08

|

748人浏览过

|

来源于php中文网

原创

cgr 通过为每个全局工具创建独立目录和 autoload 实现轻量隔离,避免 composer global require 的依赖冲突;需将 ~/.cgr/bin 加入 PATH,并手动管理安装、卸载与升级。

如何使用cgr(composer global require)来隔离全局工具?

使用 cgr(Composer Global Require)并不能真正“隔离”全局工具,它只是让全局安装的 Composer 包更轻量、更可控——本质上仍是全局安装,但避免了污染主 Composer 全局 vendor 目录和 autoload,从而减少冲突风险。

为什么需要 cgr?

直接用 composer global require 会把所有包装进 ~/.composer/vendor/,共享同一个 autoloader。一旦多个工具依赖不同版本的同一库(比如 Symfony components),就容易报错或行为异常。cgr 每次安装都新建独立目录 + 独立 autoload,互不干扰。

安装与基本用法

先全局安装 cgr 本身(只需一次):

composer global require consolidation/cgr

之后用 cgr 替代 composer global require

cgr drush/drush
cgr phpstan/phpstan
cgr laravel/installer

每个命令会在 ~/.cgr/ 下创建独立子目录(如 drush-drush),并生成专用的 bin 脚本。

讯飞智作-虚拟主播
讯飞智作-虚拟主播

讯飞智作是一款集AI配音、虚拟人视频生成、PPT生成视频、虚拟人定制等多功能的AI音视频生产平台。已广泛应用于媒体、教育、短视频等领域。

下载

确保命令可用

cgr 安装的二进制文件默认放在 ~/.cgr/bin/,需将该路径加入系统 $PATH(通常在 ~/.bashrc~/.zshrc 中添加):

export PATH="$HOME/.cgr/bin:$PATH"

然后重载 shell 配置:source ~/.zshrc(或对应配置文件)。

管理已安装的工具

cgr 不提供内置的 list/uninstall 命令,但操作很直观:

  • 查看已装工具:ls ~/.cgr/(每个目录名即包名缩写)
  • 卸载某个工具:rm -rf ~/.cgr/{vendor}-{package},再删对应 bin 文件(如 rm ~/.cgr/bin/drush
  • 升级:直接重新运行 cgr vendor/package,会覆盖旧版本

注意:cgr 不处理依赖自动更新,也不做版本锁,适合对稳定性要求不高、追求简洁的 CLI 工具场景。

相关专题

更多
PHP Symfony框架
PHP Symfony框架

本专题专注于PHP主流框架Symfony的学习与应用,系统讲解路由与控制器、依赖注入、ORM数据操作、模板引擎、表单与验证、安全认证及API开发等核心内容。通过企业管理系统、内容管理平台与电商后台等实战案例,帮助学员全面掌握Symfony在企业级应用开发中的实践技能。

78

2025.09.11

composer是什么插件
composer是什么插件

Composer是一个PHP的依赖管理工具,它可以帮助开发者在PHP项目中管理和安装依赖的库文件。Composer通过一个中央化的存储库来管理所有的依赖库文件,这个存储库包含了各种可用的依赖库的信息和版本信息。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

149

2023.12.25

require的用法
require的用法

require的用法有引入模块、导入类或方法、执行特定任务。想了解更多require的相关内容,可以阅读本专题下面的文章。

465

2023.11.27

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

0

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

12

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

86

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

109

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

155

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

79

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.9万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 8.5万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号