php_安装laravel v11的过程记录

第一次安装laravel v11.0.0

Creating a “laravel/laravel:11.0” project at “./example-app”

Installing laravel/laravel (v11.0.0)

  • Downloading laravel/laravel (v11.0.0)

  • Installing laravel/laravel (v11.0.0): Extracting archive

Created project in C:\ZSX\CODE\php\example-app

> @php -r "file_exists('.env') || copy('.env.example', '.env');"

Loading composer repositories with package information

加载Composer仓库并获取包信息

Updating dependencies

更新依赖项

Your requirements could not be resolved to an installable set of packages.

您的需求无法解析为可安装的一组包。

Problem 1

  • laravel/framework[v11.0.0, …, v11.2.0] require fruitcake/php-cors ^1.3 -> found fruitcake/php-cors[dev-feat-setOptions, dev-master, dev-main, dev-test-8.2, v0.1.0, v0.1.1, v0.1.2, v1.0-alpha1, ..., 1.2.x-dev (alias of dev-master)] but it does not match the constraint.

  • Root composer.json requires laravel/framework ^11.0 -> satisfiable by laravel/framework[v11.0.0, ..., v11.2.0].


问题在于指定的Laravel框架版本(v11.0.0)与fruitcake/php-cors包的版本要求不匹配。

这个问题可以通过以下步骤解决:

1、更新Composer:确保你的Composer是最新的版本。你可以通过运行composer self-update来更新Composer。

2、检查fruitcake/php-cors包的版本要求

打开项目的composer.json文件,并检查fruitcake/php-cors包的版本要求。

你可能需要降低该包的版本以与Laravel框架的v11.0.0兼容。

3、修改composer.json

根据fruitcake/php-cors包的版本要求,修改composer.json文件中的相关依赖项。

确保将fruitcake/php-cors的版本限制为兼容的版本。

4、运行Composer install

在修改了composer.json文件后,运行composer install命令以安装所有依赖项。


以下是一个可能的解决方案,假设你希望将fruitcake/php-cors降级到v1.2.x版本:

  • 打开项目的composer.json文件

  • 找到对fruitcake/php-cors的引用,并修改为v1.2.x版本(例如,将"1.3"改为"1.2")

  • 保存更改

  • 运行composer install

第一次安装laravel v11.0.0的时候,我使用的composer的阿里云镜像。

但是安装没成功,问题是fruitcake/php-cors我找不到1.3的版本。

于是,我就使用了官网的资源库进行安装,当然是需要挂代理的。

至于怎么挂代理,可以参考俺的这一篇说明

第二次安装laravel v11.0.0

C:\ZSX\CODE\php>composer create-project laravel/laravel:^11.0 example-app

Creating a “laravel/laravel:11.0” project at “./example-app”

创建了一个文件夹。

Installing laravel/laravel (v11.0.0)

  • Downloading laravel/laravel (v11.0.0)
  • Installing laravel/laravel (v11.0.0): Extracting archive

下载laravel,并解压缩存档。

Created project in C:\ZSX\CODE\php\example-app

> @php -r "file_exists('.env') || copy('.env.example', '.env');"

这段代码是一个命令行指令,使用了 PHP 的内置命令 php -r 来执行一段 PHP 脚本。

1、 @php@符号表示、在命令行中运行命令时、不显示后续命令行的警告或错误信息,并且在命令行环境下运行 PHP

2、 -r "file_exists('.env') || copy('.env.example', '.env');":这是在 -r 参数后面传递给 PHP 的一个内联脚本

file_exists('.env') 是一个 PHP 函数,用于检查当前目录中是否存在名为 .env 的文件

如果该文件存在,表达式 file_exists('.env') 将计算为 true

如果文件不存在,就会执行 copy('.env.example', '.env'); 语句,

其目的是将名为 .env.example 的文件复制为 .env,从而初始化项目所需的配置文件


Loading composer repositories with package information

加载 Composer 资源库并获取包信息。Composer 会从配置的各种包资源库中获取包的元数据和信息。

Updating dependencies

更新项目的依赖包。这意味着 Composer 正在检查项目的 composer.json 文件,并检查是否有可用的更新版本。

Lock file operations: 111 installs, 0 updates, 0 removals

锁定文件操作:111 个安装,0 个更新,0 个移除。

这表示 Composer 正在执行一系列的操作来安装指定的依赖包。

在这个例子中,它将执行 111 个包的安装操作,没有更新或删除任何包。

  - Locking brick/math (0.11.0)
  - Locking carbonphp/carbon-doctrine-types (3.2.0)
  - Locking dflydev/dot-access-data (v3.0.2)
  - Locking doctrine/inflector (2.0.10)
  - Locking doctrine/lexer (3.0.1)
  - Locking dragonmantank/cron-expression (v3.3.3)
  - Locking egulias/email-validator (4.0.2)
  - Locking fakerphp/faker (v1.23.1)
  - Locking filp/whoops (2.15.4)
  - Locking fruitcake/php-cors (v1.3.0)
  - Locking graham-campbell/result-type (v1.1.2)
  - Locking guzzlehttp/guzzle (7.8.1)
  - Locking guzzlehttp/promises (2.0.2)
  - Locking guzzlehttp/psr7 (2.6.2)
  - Locking guzzlehttp/uri-template (v1.0.3)
  - Locking hamcrest/hamcrest-php (v2.0.1)
  - Locking laravel/framework (v11.2.0)
  - Locking laravel/pint (v1.15.1)
  - Locking laravel/prompts (v0.1.17)
  - Locking laravel/sail (v1.29.1)
  - Locking laravel/serializable-closure (v1.3.3)
  - Locking laravel/tinker (v2.9.0)
  - Locking league/commonmark (2.4.2)
  - Locking league/config (v1.2.0)
  - Locking league/flysystem (3.26.0)
  - Locking league/flysystem-local (3.25.1)
  - Locking league/mime-type-detection (1.15.0)
  - Locking mockery/mockery (1.6.11)
  - Locking monolog/monolog (3.5.0)
  - Locking myclabs/deep-copy (1.11.1)
  - Locking nesbot/carbon (3.2.3)
  - Locking nette/schema (v1.3.0)
  - Locking nette/utils (v4.0.4)
  - Locking nikic/php-parser (v5.0.2)
  - Locking nunomaduro/collision (v8.1.1)
  - Locking nunomaduro/termwind (v2.0.1)
  - Locking phar-io/manifest (2.0.4)
  - Locking phar-io/version (3.2.1)
  - Locking phpoption/phpoption (1.9.2)
  - Locking phpunit/php-code-coverage (10.1.14)
  - Locking phpunit/php-file-iterator (4.1.0)
  - Locking phpunit/php-invoker (4.0.0)
  - Locking phpunit/php-text-template (3.0.1)
  - Locking phpunit/php-timer (6.0.0)
  - Locking phpunit/phpunit (10.5.16)
  - Locking psr/clock (1.0.0)
  - Locking psr/container (2.0.2)
  - Locking psr/event-dispatcher (1.0.0)
  - Locking psr/http-client (1.0.3)
  - Locking psr/http-factory (1.0.2)
  - Locking psr/http-message (2.0)
  - Locking psr/log (3.0.0)
  - Locking psr/simple-cache (3.0.0)
  - Locking psy/psysh (v0.12.3)
  - Locking ralouphie/getallheaders (3.0.3)
  - Locking ramsey/collection (2.0.0)
  - Locking ramsey/uuid (4.7.5)
  - Locking sebastian/cli-parser (2.0.1)
  - Locking sebastian/code-unit (2.0.0)
  - Locking sebastian/code-unit-reverse-lookup (3.0.0)
  - Locking sebastian/comparator (5.0.1)
  - Locking sebastian/complexity (3.2.0)
  - Locking sebastian/diff (5.1.1)
  - Locking sebastian/environment (6.1.0)
  - Locking sebastian/exporter (5.1.2)
  - Locking sebastian/global-state (6.0.2)
  - Locking sebastian/lines-of-code (2.0.2)
  - Locking sebastian/object-enumerator (5.0.0)
  - Locking sebastian/object-reflector (3.0.0)
  - Locking sebastian/recursion-context (5.0.0)
  - Locking sebastian/type (4.0.0)
  - Locking sebastian/version (4.0.1)
  - Locking spatie/backtrace (1.5.3)
  - Locking spatie/flare-client-php (1.4.4)
  - Locking spatie/ignition (1.13.1)
  - Locking spatie/laravel-ignition (2.5.1)
  - Locking symfony/clock (v7.0.5)
  - Locking symfony/console (v7.0.6)
  - Locking symfony/css-selector (v7.0.3)
  - Locking symfony/deprecation-contracts (v3.4.0)
  - Locking symfony/error-handler (v7.0.6)
  - Locking symfony/event-dispatcher (v7.0.3)
  - Locking symfony/event-dispatcher-contracts (v3.4.2)
  - Locking symfony/finder (v7.0.0)
  - Locking symfony/http-foundation (v7.0.6)
  - Locking symfony/http-kernel (v7.0.6)
  - Locking symfony/mailer (v7.0.6)
  - Locking symfony/mime (v7.0.6)
  - Locking symfony/polyfill-ctype (v1.29.0)
  - Locking symfony/polyfill-intl-grapheme (v1.29.0)
  - Locking symfony/polyfill-intl-idn (v1.29.0)
  - Locking symfony/polyfill-intl-normalizer (v1.29.0)
  - Locking symfony/polyfill-mbstring (v1.29.0)
  - Locking symfony/polyfill-php72 (v1.29.0)
  - Locking symfony/polyfill-php80 (v1.29.0)
  - Locking symfony/polyfill-php83 (v1.29.0)
  - Locking symfony/polyfill-uuid (v1.29.0)
  - Locking symfony/process (v7.0.4)
  - Locking symfony/routing (v7.0.6)
  - Locking symfony/service-contracts (v3.4.2)
  - Locking symfony/string (v7.0.4)
  - Locking symfony/translation (v7.0.4)
  - Locking symfony/translation-contracts (v3.4.2)
  - Locking symfony/uid (v7.0.3)
  - Locking symfony/var-dumper (v7.0.6)
  - Locking symfony/yaml (v7.0.3)
  - Locking theseer/tokenizer (1.2.3)
  - Locking tijsverkoyen/css-to-inline-styles (v2.2.7)
  - Locking vlucas/phpdotenv (v5.6.0)
  - Locking voku/portable-ascii (2.0.1)
  - Locking webmozart/assert (1.11.0)

Writing lock file

正在生成 lock 文件。

这意味着 Composer 将根据当前项目的依赖关系安装过程中的版本解析结果生成一个 lock 文件,

这个 lock 文件会记录项目当前的依赖包状态,以确保团队中其他成员也能够在相同的依赖状态上进行工作。

Installing dependencies from lock file (including require-dev)

从 lock 文件中安装依赖(包括 require-dev)。

这表示 Composer 将从之前生成的 lock 文件中,以及包括== require-dev 开发环境==所需的依赖,对项目进行依赖包的安装。

Package operations: 111 installs, 0 updates, 0 removals

包操作:111 个安装,0 个更新,0 个移除。

这表示 Composer 正在执行一系列操作来安装指定的依赖包。

在这个例子中,它将执行 111 个包的安装操作,并且没有更新或删除任何包。

  - Downloading doctrine/inflector (2.0.10)
  - Downloading doctrine/lexer (3.0.1)
  - Downloading symfony/polyfill-ctype (v1.29.0)
  - Downloading webmozart/assert (1.11.0)
  - Downloading dragonmantank/cron-expression (v3.3.3)
  - Downloading symfony/deprecation-contracts (v3.4.0)
  - Downloading psr/container (2.0.2)
  - Downloading fakerphp/faker (v1.23.1)
  - Downloading symfony/polyfill-php80 (v1.29.0)
  - Downloading symfony/polyfill-php83 (v1.29.0)
  - Downloading symfony/polyfill-mbstring (v1.29.0)
  - Downloading symfony/http-foundation (v7.0.6)
  - Downloading fruitcake/php-cors (v1.3.0)
  - Downloading psr/http-message (2.0)
  - Downloading psr/http-client (1.0.3)
  - Downloading ralouphie/getallheaders (3.0.3)
  - Downloading psr/http-factory (1.0.2)
  - Downloading guzzlehttp/psr7 (2.6.2)
  - Downloading guzzlehttp/promises (2.0.2)
  - Downloading guzzlehttp/guzzle (7.8.1)
  - Downloading guzzlehttp/uri-template (v1.0.3)
  - Downloading laravel/pint (v1.15.1)
  - Downloading symfony/polyfill-intl-normalizer (v1.29.0)
  - Downloading symfony/polyfill-intl-grapheme (v1.29.0)
  - Downloading symfony/string (v7.0.4)
  - Downloading symfony/service-contracts (v3.4.2)
  - Downloading symfony/console (v7.0.6)
  - Downloading voku/portable-ascii (2.0.1)
  - Downloading phpoption/phpoption (1.9.2)
  - Downloading graham-campbell/result-type (v1.1.2)
  - Downloading vlucas/phpdotenv (v5.6.0)
  - Downloading symfony/css-selector (v7.0.3)
  - Downloading tijsverkoyen/css-to-inline-styles (v2.2.7)
  - Downloading symfony/var-dumper (v7.0.6)
  - Downloading symfony/polyfill-uuid (v1.29.0)
  - Downloading symfony/uid (v7.0.3)
  - Downloading symfony/routing (v7.0.6)
  - Downloading symfony/process (v7.0.4)
  - Downloading symfony/polyfill-php72 (v1.29.0)
  - Downloading symfony/polyfill-intl-idn (v1.29.0)
  - Downloading symfony/mime (v7.0.6)
  - Downloading psr/event-dispatcher (1.0.0)
  - Downloading symfony/event-dispatcher-contracts (v3.4.2)
  - Downloading symfony/event-dispatcher (v7.0.3)
  - Downloading psr/log (3.0.0)
  - Downloading egulias/email-validator (4.0.2)
  - Downloading symfony/mailer (v7.0.6)
  - Downloading symfony/error-handler (v7.0.6)
  - Downloading symfony/http-kernel (v7.0.6)
  - Downloading symfony/finder (v7.0.0)
  - Downloading ramsey/collection (2.0.0)
  - Downloading brick/math (0.11.0)
  - Downloading ramsey/uuid (4.7.5)
  - Downloading psr/simple-cache (3.0.0)
  - Downloading nunomaduro/termwind (v2.0.1)
  - Downloading symfony/translation-contracts (v3.4.2)
  - Downloading symfony/translation (v7.0.4)
  - Downloading psr/clock (1.0.0)
  - Downloading symfony/clock (v7.0.5)
  - Downloading carbonphp/carbon-doctrine-types (3.2.0)
  - Downloading nesbot/carbon (3.2.3)
  - Downloading monolog/monolog (3.5.0)
  - Downloading league/mime-type-detection (1.15.0)
  - Downloading league/flysystem (3.26.0)
  - Downloading league/flysystem-local (3.25.1)
  - Downloading nette/utils (v4.0.4)
  - Downloading nette/schema (v1.3.0)
  - Downloading dflydev/dot-access-data (v3.0.2)
  - Downloading league/config (v1.2.0)
  - Downloading league/commonmark (2.4.2)
  - Downloading laravel/serializable-closure (v1.3.3)
  - Downloading laravel/prompts (v0.1.17)
  - Downloading laravel/framework (v11.2.0)
  - Downloading symfony/yaml (v7.0.3)
  - Downloading laravel/sail (v1.29.1)
  - Downloading nikic/php-parser (v5.0.2)
  - Downloading psy/psysh (v0.12.3)
  - Downloading laravel/tinker (v2.9.0)
  - Downloading hamcrest/hamcrest-php (v2.0.1)
  - Downloading mockery/mockery (1.6.11)
  - Downloading filp/whoops (2.15.4)
  - Downloading nunomaduro/collision (v8.1.1)
  - Downloading sebastian/version (4.0.1)
  - Downloading sebastian/type (4.0.0)
  - Downloading sebastian/recursion-context (5.0.0)
  - Downloading sebastian/object-reflector (3.0.0)
  - Downloading sebastian/object-enumerator (5.0.0)
  - Downloading sebastian/global-state (6.0.2)
  - Downloading sebastian/exporter (5.1.2)
  - Downloading sebastian/environment (6.1.0)
  - Downloading sebastian/diff (5.1.1)
  - Downloading sebastian/comparator (5.0.1)
  - Downloading sebastian/code-unit (2.0.0)
  - Downloading sebastian/cli-parser (2.0.1)
  - Downloading phpunit/php-timer (6.0.0)
  - Downloading phpunit/php-text-template (3.0.1)
  - Downloading phpunit/php-invoker (4.0.0)
  - Downloading phpunit/php-file-iterator (4.1.0)
  - Downloading theseer/tokenizer (1.2.3)
  - Downloading sebastian/lines-of-code (2.0.2)
  - Downloading sebastian/complexity (3.2.0)
  - Downloading sebastian/code-unit-reverse-lookup (3.0.0)
  - Downloading phpunit/php-code-coverage (10.1.14)
  - Downloading phar-io/version (3.2.1)
  - Downloading phar-io/manifest (2.0.4)
  - Downloading myclabs/deep-copy (1.11.1)
  - Downloading phpunit/phpunit (10.5.16)
  - Downloading spatie/backtrace (1.5.3)
  - Downloading spatie/flare-client-php (1.4.4)
  - Downloading spatie/ignition (1.13.1)
  - Downloading spatie/laravel-ignition (2.5.1)
  - Installing doctrine/inflector (2.0.10): Extracting archive
  - Installing doctrine/lexer (3.0.1): Extracting archive
  - Installing symfony/polyfill-ctype (v1.29.0): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing dragonmantank/cron-expression (v3.3.3): Extracting archive
  - Installing symfony/deprecation-contracts (v3.4.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing fakerphp/faker (v1.23.1): Extracting archive
  - Installing symfony/polyfill-php80 (v1.29.0): Extracting archive
  - Installing symfony/polyfill-php83 (v1.29.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.29.0): Extracting archive
  - Installing symfony/http-foundation (v7.0.6): Extracting archive
  - Installing fruitcake/php-cors (v1.3.0): Extracting archive
  - Installing psr/http-message (2.0): Extracting archive
  - Installing psr/http-client (1.0.3): Extracting archive
  - Installing ralouphie/getallheaders (3.0.3): Extracting archive
  - Installing psr/http-factory (1.0.2): Extracting archive
  - Installing guzzlehttp/psr7 (2.6.2): Extracting archive
  - Installing guzzlehttp/promises (2.0.2): Extracting archive
  - Installing guzzlehttp/guzzle (7.8.1): Extracting archive
  - Installing guzzlehttp/uri-template (v1.0.3): Extracting archive
  - Installing laravel/pint (v1.15.1): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.29.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.29.0): Extracting archive
  - Installing symfony/string (v7.0.4): Extracting archive
  - Installing symfony/service-contracts (v3.4.2): Extracting archive
  - Installing symfony/console (v7.0.6): Extracting archive
  - Installing voku/portable-ascii (2.0.1): Extracting archive
  - Installing phpoption/phpoption (1.9.2): Extracting archive
  - Installing graham-campbell/result-type (v1.1.2): Extracting archive
  - Installing vlucas/phpdotenv (v5.6.0): Extracting archive
  - Installing symfony/css-selector (v7.0.3): Extracting archive
  - Installing tijsverkoyen/css-to-inline-styles (v2.2.7): Extracting archive
  - Installing symfony/var-dumper (v7.0.6): Extracting archive
  - Installing symfony/polyfill-uuid (v1.29.0): Extracting archive
  - Installing symfony/uid (v7.0.3): Extracting archive
  - Installing symfony/routing (v7.0.6): Extracting archive
  - Installing symfony/process (v7.0.4): Extracting archive
  - Installing symfony/polyfill-php72 (v1.29.0): Extracting archive
  - Installing symfony/polyfill-intl-idn (v1.29.0): Extracting archive
  - Installing symfony/mime (v7.0.6): Extracting archive
  - Installing psr/event-dispatcher (1.0.0): Extracting archive
  - Installing symfony/event-dispatcher-contracts (v3.4.2): Extracting archive
  - Installing symfony/event-dispatcher (v7.0.3): Extracting archive
  - Installing psr/log (3.0.0): Extracting archive
  - Installing egulias/email-validator (4.0.2): Extracting archive
  - Installing symfony/mailer (v7.0.6): Extracting archive
  - Installing symfony/error-handler (v7.0.6): Extracting archive
  - Installing symfony/http-kernel (v7.0.6): Extracting archive
  - Installing symfony/finder (v7.0.0): Extracting archive
  - Installing ramsey/collection (2.0.0): Extracting archive
  - Installing brick/math (0.11.0): Extracting archive
  - Installing ramsey/uuid (4.7.5): Extracting archive
  - Installing psr/simple-cache (3.0.0): Extracting archive
  - Installing nunomaduro/termwind (v2.0.1): Extracting archive
  - Installing symfony/translation-contracts (v3.4.2): Extracting archive
  - Installing symfony/translation (v7.0.4): Extracting archive
  - Installing psr/clock (1.0.0): Extracting archive
  - Installing symfony/clock (v7.0.5): Extracting archive
  - Installing carbonphp/carbon-doctrine-types (3.2.0): Extracting archive
  - Installing nesbot/carbon (3.2.3): Extracting archive
  - Installing monolog/monolog (3.5.0): Extracting archive
  - Installing league/mime-type-detection (1.15.0): Extracting archive
  - Installing league/flysystem (3.26.0): Extracting archive
  - Installing league/flysystem-local (3.25.1): Extracting archive
  - Installing nette/utils (v4.0.4): Extracting archive
  - Installing nette/schema (v1.3.0): Extracting archive
  - Installing dflydev/dot-access-data (v3.0.2): Extracting archive
  - Installing league/config (v1.2.0): Extracting archive
  - Installing league/commonmark (2.4.2): Extracting archive
  - Installing laravel/serializable-closure (v1.3.3): Extracting archive
  - Installing laravel/prompts (v0.1.17): Extracting archive
  - Installing laravel/framework (v11.2.0): Extracting archive
  - Installing symfony/yaml (v7.0.3): Extracting archive
  - Installing laravel/sail (v1.29.1): Extracting archive
  - Installing nikic/php-parser (v5.0.2): Extracting archive
  - Installing psy/psysh (v0.12.3): Extracting archive
  - Installing laravel/tinker (v2.9.0): Extracting archive
  - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive
  - Installing mockery/mockery (1.6.11): Extracting archive
  - Installing filp/whoops (2.15.4): Extracting archive
  - Installing nunomaduro/collision (v8.1.1): Extracting archive
  - Installing sebastian/version (4.0.1): Extracting archive
  - Installing sebastian/type (4.0.0): Extracting archive
  - Installing sebastian/recursion-context (5.0.0): Extracting archive
  - Installing sebastian/object-reflector (3.0.0): Extracting archive
  - Installing sebastian/object-enumerator (5.0.0): Extracting archive
  - Installing sebastian/global-state (6.0.2): Extracting archive
  - Installing sebastian/exporter (5.1.2): Extracting archive
  - Installing sebastian/environment (6.1.0): Extracting archive
  - Installing sebastian/diff (5.1.1): Extracting archive
  - Installing sebastian/comparator (5.0.1): Extracting archive
  - Installing sebastian/code-unit (2.0.0): Extracting archive
  - Installing sebastian/cli-parser (2.0.1): Extracting archive
  - Installing phpunit/php-timer (6.0.0): Extracting archive
  - Installing phpunit/php-text-template (3.0.1): Extracting archive
  - Installing phpunit/php-invoker (4.0.0): Extracting archive
  - Installing phpunit/php-file-iterator (4.1.0): Extracting archive
  - Installing theseer/tokenizer (1.2.3): Extracting archive
  - Installing sebastian/lines-of-code (2.0.2): Extracting archive
  - Installing sebastian/complexity (3.2.0): Extracting archive
  - Installing sebastian/code-unit-reverse-lookup (3.0.0): Extracting archive
  - Installing phpunit/php-code-coverage (10.1.14): Extracting archive
  - Installing phar-io/version (3.2.1): Extracting archive
  - Installing phar-io/manifest (2.0.4): Extracting archive
  - Installing myclabs/deep-copy (1.11.1): Extracting archive
  - Installing phpunit/phpunit (10.5.16): Extracting archive
  - Installing spatie/backtrace (1.5.3): Extracting archive
  - Installing spatie/flare-client-php (1.4.4): Extracting archive
  - Installing spatie/ignition (1.13.1): Extracting archive
  - Installing spatie/laravel-ignition (2.5.1): Extracting archive

61 package suggestions were added by new dependencies, use composer suggest to see details.

61 个包的建议已由新的依赖项添加,请使用 composer suggest 查看详情。

这表示在安装新的依赖包时,Composer 发现了 61 个可能相关的建议性依赖包

您可以使用 composer suggest 命令来查看这些建议性依赖的详细信息。


Generating optimized autoload files

生成优化的自动加载文件。

Composer 正在根据项目的依赖关系和配置生成自动加载文件,以便在项目中自动加载所需的 PHP 类和文件。

这是优化项目性能的一部分,能够加快类的自动加载速度和减少服务器负载

> Illuminate\Foundation\ComposerScripts::postAutoloadDump

> @php artisan package:discover --ansi

   INFO  Discovering packages.

  laravel/sail ....................................................................................................... DONE
  laravel/tinker ..................................................................................................... DONE
  nesbot/carbon ...................................................................................................... DONE
  nunomaduro/collision ............................................................................................... DONE
  nunomaduro/termwind ................................................................................................ DONE
  spatie/laravel-ignition ............................................................................................ DONE

85 packages you are using are looking for funding.

Use the `composer fund` command to find out more!

首先看到的是 “Illuminate\Foundation\ComposerScripts::postAutoloadDump” 这是 Laravel 框架中的一个 Composer 脚本,它会在自动加载文件生成之后执行一些操作。

接着是 “@php artisan package:discover --ansi”,这是通过 Artisan 命令行工具来执行 Laravel 包的发现过程

在这个例子中,它显示了一些已经被发现的包,比如 laravel/sail, laravel/tinker, nesbot/carbon 等。

这些是 Laravel 项目所使用的一些扩展包。

然后是 “85 packages you are using are looking for funding”,这表示你正在使用的 85 个包正在寻求资金支持

它建议使用 “composer fund” 命令来了解更多信息。

> @php artisan vendor:publish --tag=laravel-assets --ansi --force

   INFO  No publishable resources for tag [laravel-assets].

No security vulnerability advisories found.

接下来是 “@php artisan vendor:publish --tag=laravel-assets --ansi --force”,它会尝试发布指定标签(laravel-assets)的所有资源。

在这里的信息中显示没有可以发布的资源。

接着是 “No security vulnerability advisories found”,这表示没有发现任何安全漏洞。

> @php artisan key:generate --ansi

   INFO  Application key set successfully.

“@php artisan key:generate --ansi”,这是用来生成应用程序密钥的 Artisan 命令,它应用程序的密钥已经成功生成。


> @php -r "file_exists('database/database.sqlite') || touch('database/database.sqlite');"

这行命令用于确保数据库文件对应的 SQLite 文件存在

如果文件不存在,则会使用 PHP 的 touch 函数创建一个新的数据库文件

> @php artisan migrate --ansi

这是在 Laravel 中执行数据库迁移的命令。在这里,它尝试着执行数据库迁移操作。


   Illuminate\Database\QueryException
   
  could not find driver (Connection: sqlite, SQL: PRAGMA foreign_keys = ON;)

  at vendor\laravel\framework\src\Illuminate\Database\Connection.php:813
    809▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
    810▕                 );
    811▕             }
    812▕
  ➜ 813▕             throw new QueryException(
    814▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
    815▕             );
    816▕         }
    817▕     }

  1   vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:65
      PDOException::("could not find driver")

  2   vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:65
      PDO::__construct()

Script @php artisan migrate --ansi handling the post-create-project-cmd event returned with error code 1

这是一个数据库查询异常,意味着 Laravel 无法找到对应的数据库驱动程序(在这里是 sqlite)。

这可能是因为相关的 PHP 扩展驱动程序未安装或未启用。

采取措施

第三次安装laravel v11.0.0 - 成功

相比于上面的过程,最后一步执行正常了:

> @php artisan migrate --ansi

   INFO  Preparing database.

  Creating migration table ............................................................... 6.98ms DONE

   INFO  Running migrations.

  0001_01_01_000000_create_users_table .................................................. 16.99ms DONE
  0001_01_01_000001_create_cache_table ................................................... 5.23ms DONE
  0001_01_01_000002_create_jobs_table ................................................... 13.49ms DONE

总结laravel的安装过程

所有的操作,就是下面的过程:

Creating a "laravel/laravel:11.0" project at "./example-app"

Installing laravel/laravel (v11.0.0)

  - Installing laravel/laravel (v11.0.0): Extracting archive

Created project in C:\ZSX\CODE\php\example-app

> @php -r "file_exists('.env') || copy('.env.example', '.env');"

Loading composer repositories with package information

Updating dependencies

Lock file operations: 111 installs, 0 updates, 0 removals

Writing lock file

Installing dependencies from lock file (including require-dev)

Package operations: 111 installs, 0 updates, 0 removals

> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi

> @php artisan vendor:publish --tag=laravel-assets --ansi --force

> @php artisan key:generate --ansi

> @php -r "file_exists('database/database.sqlite') || touch('database/database.sqlite');"

> @php artisan migrate --ansi
  • 26
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值