安装后未发布Jwt配置文件

问题描述 投票:2回答:5

我使用官方存储库jwt-auth installation wiki上的解释将jwt添加到我的Laravel应用程序中。安装成功(即运行作曲家更新后)。在那个阶段,我只是将jwt添加到服务和别名数组并运行publish命令来发布配置文件。

运用

php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\JWTAuthServiceProvider"

上面的命令运行并显示Publishing complete然而,这不是我期望它显示生成的配置文件jwt.php的名称的预期行为。这不是情况,正如预期的那样运行下一个命令

php artisan jwt:generate

返回和错误

[Symfony\Component\Console\Exception\CommandNotFoundException]  
  There are no commands defined in the "jwt" namespace.  

我猜这是因为没有jwt.php配置文件,我在这里缺少什么?提前致谢。

php laravel jwt laravel-5.4
5个回答
2
投票

我有同样的问题。以下对我有用:

php artisan config:clear

php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class"

php artisan config:cache

php artisan vendor:publish

1
投票

我在解决问题后几天发布这个答案,因为没有答案。经过一些研究后我发现,尽管安装正确,配置文件可能无法发布的主要原因是由于config:cache在添加新配置时出现混淆。但是我通过运行解决了这个问题

php artisan config:clear

然后再次运行发布命令并繁荣!!有效。此方法不仅适用于JWT,也适用于其他未能发布的配置,但值得注意的是,问题也可能由其他内容引起。


1
投票

要在laravel中安装tymon/jwt-auth软件包,应遵循以下步骤:

Composer.json require应该是这样的:

"require": {
       "php": ">=5.5.9",
       "laravel/framework": "5.1.*",
       "tymon/jwt-auth": "0.5.*"
   },

然后在config / app.php中将以下内容放在providers数组中:

Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class

然后在config / app.php的别名数组中添加以下内容

'JWTAuth'   => Tymon\JWTAuthFacades\JWTAuth::class,
'JWTFactory' => Tymon\JWTAuthFacades\JWTFactory::class

然后键入以下命令:

php artisan vendor:publish

注意:各种教程建议您执行以下操作:

php artisan vendor:publish --provider="Tymon\JWTAuthProviders\JWTAuthServiceProvider"

但是,在此之前,请尝试上面的命令而不使用--provider,它会起作用。

然后输入:

php artisan jwt:generate

完成此步骤后,您可以在app/config/jwt.php中验证生成的密钥,如下所述:

'secret' => env('JWT_SECRET', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'),

现在,你很高兴...


0
投票

对于流明5.5。*

$ composer require tymon/jwt-auth:"^1.0.0"

将打击代码添加到app / Providers / AppServiceProvider.php注册方法中:

$this->app->register(\Tymon\JWTAuth\Providers\LumenServiceProvider::class);

0
投票

对于laravel 5.5及更高版本安装jwt版本1.0.0-rc.1运行良好,你不需要在服务提供商中注册jwt类只需要它与composer:

composer require tymon/jwt-auth:1.0.0-rc.1

之后你可以发布。

© www.soinside.com 2019 - 2024. All rights reserved.