04百融云策略引擎项目laravel实战步完整安装composer及tcpdf依赖库和验证-优雅草卓伊凡引言 此前只是把关于如何把查询内容导出pdf库的代码实现了,但是我们并没有完成整个项目,这最后一个步骤就是安装composer再安装tcpdf库,最后修改结构目录实现完整项目功能,查询得到结果导出pdf库,我分两篇才能写完。 实战开始我卓伊凡将为你提供完整的实现步骤,包括Composer安装、目录结构调整和完整代码实现-优雅草科技理论+商业实战-学习提升·永无止境 完整实现步骤1. 安装Composer和TCPDF安装Composer(如果尚未安装)# 下载Composer安装脚本php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"开始这个报错提示是没权限安装 composer 提示 php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"PHP Warning: copy(composer-setup.php): failed to open stream: Permission denied in Command line code on line 1Warning: copy(composer-setup.php): failed to open stream: Permission denied in Command line code on line 1提示没权限 我们用 管理员权限执行sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"成功# 验证安装脚本php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"# 执行安装php composer-setup.php执行安装 又报错没权限那么我们执行在 Ubuntu 系统中,默认登录的用户通常不是最高权限(root),而是具有 sudo 权限的普通用户。要切换到最高权限身份,可以使用以下方法:### 1. 切换到 root 用户如果需要持续执行多个高权限操作,可以直接切换到 root 身份:```bashsu -然后输入 root 用户的密码(如果是新系统,可能需要先设置 root 密码)。 3. 如果尚未设置 root 密码(首次使用)sudo passwd root按照提示设置 root 密码后,再用 su - 切换。 完成操作后,建议通过 exit 命令退出 root 身份,回到普通用户模式,以提高系统安全性。 所以 其实 Linux 系统 unbunt 比centos 要安全些 删除安装脚本php -r “unlink(‘composer-setup.php’);” 将composer.phar移动到全局位置(可选)mv composer.phar /usr/local/bin/composer 然后 下面 我就不接着演示了 因为 我们全局是安装了 composer的,以上操作直接执行即可。#### 安装TCPDF```bash# 在项目根目录下初始化Composercomposer init --no-interaction直接执行还是报错了[RuntimeException] You have to run this command in interactive mode, or specify at least some data usi ng --name, --require, etc. init [--name NAME] [--description DESCRIPTION] [--author AUTHOR] [--type [TYPE]] [--homepage HOMEPAGE] [--require REQUIRE] [--require-dev REQUIRE-DEV] [-s|--stability STABILITY] [-l|--license LICENSE] [--repository REPOSITORY]这个错误是因为你在运行 `composer init` 命令时没有提供足够的信息,且没有在交互式模式下操作。解决方法有两种:### 1. 交互式模式(推荐,适合新手)直接运行命令后按提示输入信息:```bashcomposer init然后会出现一系列提示,如项目名称、描述、作者等,按需求填写或直接按回车使用默认值即可。 2. 非交互式模式(适合自动化或脚本)在命令中直接指定必要参数,例如: composer init --name=your-vendor/your-project --description="Your project description" --author="Your Name <your@email.com>" --type=project --license=MIT根据你的实际情况修改上述参数值。 两种方式都能完成 composer.json 文件的初始化,选择适合你的方式即可。如果需要添加依赖包,可以在初始化时通过 --require 参数指定,也可以之后使用 composer require 命令添加。 当然我们还是就第一种 
$ composer initWelcome to the Composer config generator This command will guide you through creating your composer.json config. Package name (<vendor>/<name>) [ubuntu/bairong.youyacao.com]: bairong
The package name bairong is invalid, it should be lowercase and have a vendor name, a forward slash, and a package name, matching: [a-z0-9.-]+/[a-z0-9.-]+
Package name (<vendor>/<name>) [ubuntu/bairong.youyacao.com]: 继续报错,这是因为格式不对,我们按要求输入 zhuoivan/bairong 成功,接下来所有内容我直接默认过,对应内容参考 下面是每个配置项的详细说明和建议输入方式,你可以根据实际情况填写: 完成所有配置后,系统会显示预览并询问是否确认,输入yes回车即可生成composer.json文件。 看起来这里我在交互式配置依赖时输入了 “no”,导致系统误解为你要搜索名为 “no” 的包。以下是正确的处理方式:
如果暂时不想添加依赖
直接按回车或输入none,然后按回车,即可跳过依赖配置。 ok 我们最终成功
 但是最后一步还是没成功就是权限 问题 哎 因为我没切换root权限 上面给大家讲了切换root但是我没切换 临时执行 sudo composer init 我们最终成功,只是名字这里比较乌龙我格式没对 安装TCPDFcomposer require tecnickcom/tcpdf
```
还是一样 我们得 sudo composer require tecnickcom/tcpdf 进入了安装流程,本文完结,下一篇则是安装完成过后库我们进一步操作完整结构目录优化,标准化项目的交付,下篇见
|