Laravel ERROR: Class 'Collective\Html\HtmlServiceProvider' not found after running composer require laravelcollective/html in CMD
Laravel ERROR: Class 'Collective\Html\HtmlServiceProvider' not found after running composer require laravelcollective/html in CMD
注意: 到目前为止, 的回答对我没有帮助。而且,我认为 4 个多小时的徒劳搜索解决方案最终证明我可以寻求进一步的帮助...
我关注 this tutorial 是为了在我的 Laravel 项目中使用一个表单,并允许我在我的数据库中保存一些用户输入。按照指示,我通过 CMD 执行了这一行:
composer require "laravelcollective/html":"^5.3.0"
然后,我在 config/app.php:
中添加了这些
'providers' => [
// ...
Collective\Html\HtmlServiceProvider::class,
// ...
],
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
// ...
],
在我的视图中,我有这个,只是为了检查现在是否一切都准备好可以使用了:
{!! Form::open([]) !!}
{!! Form::text('name', @$name) !!}
{!! Form::password('password') !!}
{!! Form::submit('Send') !!}
{!! Form::close() !!}
但是,它给了我这个错误:
FatalThrowableError in ProviderRepository.php line 146:
Class 'Collective\Html\HtmlServiceProvider' not found
我什至将它添加到 我的 composer.json,以防万一这可能是 "missing ingredient":
"require": {
"laravel/framework": "5.0.*",
"laravelcollective/html": "~5.0"
}
但也没有解决任何问题
另请注意,我发现了两个 composer.json 文件:一个在...
C:\xampp\htdocs\laravelproject
还有一个里面...
C:\xampp\htdocs\laravelproject\project
...所以我都编辑了。
旁注: "project" 文件夹是 "original" 根文件所在的位置(例如文件夹 app、config、resources 等。 . 我之前已经重新定位了它们,以便从我的 URL.
中删除 "public" 这个词
PS: 我是 Laravel、Composer 和 CMD 的新手。我唯一的背景是 PHP 和 CodeIgniter。
请帮忙。
我不确定我是否应该在 运行 composer require "laravelcollective/html":"^5.3.0" 之后在这里提供 CMD 结果(因为它有 142 行长),但我有一份副本,以防万一。
显然,Laravel 的 Illuminate/Foundation/ProviderRepository.php
正在唠叨找不到提供者:
138 /**
139 * Create a new provider instance.
140 *
141 * @param string $provider
142 * @return \Illuminate\Support\ServiceProvider
143 */
144 public function createProvider($provider)
145 {
146 return new $provider($this->app);
147 }
我刚刚在 Laravel 5.3 的全新安装上成功测试了它。请遵循此清单:
- 问题
composer require "laravelcollective/html":"^5.3.0"
。
- 验证
vendor/laravelcollective/html
目录是否存在。
- 确认您的
composer.json
文件已更新,并且在您的依赖项(require
块)中有一个 laravelcollective/html
包的条目。
- 将
Collective\Html\HtmlServiceProvider::class
添加到 config/app.php
的 providers
数组中。
- 将
'Form' => Collective\Html\FormFacade::class
和 'Html' => Collective\Html\HtmlFacade::class
添加到您的 aliases
数组。
- 确认 API 存在:发出
php artisan tinker
命令并尝试玩 Form::
APIs。查看是否抛出任何错误。
您可能已经完成了所有这些步骤。如果是这种情况,只需使用 composer remove laravelcollective/html
命令删除软件包并重新执行所有步骤即可。
最重要的是,了解您的项目文件所在的位置。去掉多余的 project/
。
注意: 到目前为止,
我关注 this tutorial 是为了在我的 Laravel 项目中使用一个表单,并允许我在我的数据库中保存一些用户输入。按照指示,我通过 CMD 执行了这一行:
composer require "laravelcollective/html":"^5.3.0"
然后,我在 config/app.php:
中添加了这些'providers' => [
// ...
Collective\Html\HtmlServiceProvider::class,
// ...
],
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
// ...
],
在我的视图中,我有这个,只是为了检查现在是否一切都准备好可以使用了:
{!! Form::open([]) !!}
{!! Form::text('name', @$name) !!}
{!! Form::password('password') !!}
{!! Form::submit('Send') !!}
{!! Form::close() !!}
但是,它给了我这个错误:
FatalThrowableError in ProviderRepository.php line 146: Class 'Collective\Html\HtmlServiceProvider' not found
我什至将它添加到 我的 composer.json,以防万一这可能是 "missing ingredient":
"require": {
"laravel/framework": "5.0.*",
"laravelcollective/html": "~5.0"
}
但也没有解决任何问题
另请注意,我发现了两个 composer.json 文件:一个在...
C:\xampp\htdocs\laravelproject
还有一个里面...
C:\xampp\htdocs\laravelproject\project
...所以我都编辑了。
旁注: "project" 文件夹是 "original" 根文件所在的位置(例如文件夹 app、config、resources 等。 . 我之前已经重新定位了它们,以便从我的 URL.
中删除 "public" 这个词PS: 我是 Laravel、Composer 和 CMD 的新手。我唯一的背景是 PHP 和 CodeIgniter。
请帮忙。
我不确定我是否应该在 运行 composer require "laravelcollective/html":"^5.3.0" 之后在这里提供 CMD 结果(因为它有 142 行长),但我有一份副本,以防万一。
显然,Laravel 的 Illuminate/Foundation/ProviderRepository.php
正在唠叨找不到提供者:
138 /**
139 * Create a new provider instance.
140 *
141 * @param string $provider
142 * @return \Illuminate\Support\ServiceProvider
143 */
144 public function createProvider($provider)
145 {
146 return new $provider($this->app);
147 }
我刚刚在 Laravel 5.3 的全新安装上成功测试了它。请遵循此清单:
- 问题
composer require "laravelcollective/html":"^5.3.0"
。 - 验证
vendor/laravelcollective/html
目录是否存在。 - 确认您的
composer.json
文件已更新,并且在您的依赖项(require
块)中有一个laravelcollective/html
包的条目。 - 将
Collective\Html\HtmlServiceProvider::class
添加到config/app.php
的providers
数组中。 - 将
'Form' => Collective\Html\FormFacade::class
和'Html' => Collective\Html\HtmlFacade::class
添加到您的aliases
数组。 - 确认 API 存在:发出
php artisan tinker
命令并尝试玩Form::
APIs。查看是否抛出任何错误。
您可能已经完成了所有这些步骤。如果是这种情况,只需使用 composer remove laravelcollective/html
命令删除软件包并重新执行所有步骤即可。
最重要的是,了解您的项目文件所在的位置。去掉多余的 project/
。