Laravel Nova 安装

2023-02-16 17:07 更新

要求

在安装之前,Laravel Nova 有些要求,需要你注意一下:

  • Composer
  • Laravel Framework 5.6+
  • Laravel Mix
  • Node.js & NPM

安装 Nova

只要购买一份 Nova 许可,你就可以在 Nova 官网的「releases」部分下载一份 Nova 发行版。下载完包含 Nova 源码的 Zip 文件后,需要在你 Laravel 应用的 composer.json 文件里用 Composer 的「path」仓库安装它。

首先,将 Nova 发行版压缩包解压到你的应用根目录下的 nova 文件夹里。只要解压并放置 Nova 源代码到合适的目录,就应更新 composer.json 文件。请将以下配置添加到 composer.json 文件中:

"repositories": [
    {
        "type": "path",
        "url": "./nova"
    }
],

隐藏文件

当解压 Nova 到 nova 文件夹后,请确认 Nova 的「隐藏」文件(例如.gitignore 文件)也包含在内。

接下来,将 laravel/nova 添加到 composer.json 的 require 字段:

"require": {
    "php": "^7.1.3",
    "fideloper/proxy": "^4.0",
    "laravel/framework": "5.6.*",
    "laravel/nova": "*"
},

修改 composer.json 文件之后,在控制台终端运行 composer update 命令:

composer update

最后,运行 nova:install 和 migrateArtisan 命令。nova:install 命令将在你的应用中安装 Nova 的服务提供者,并发布资源文件:

php artisan nova:install

php artisan migrate

运行完以上命令后,请确认 App\Providers\NovaServiceProvider 被添加到了你的 app.php 配置文件里。如果没有,请手动添加。当然,如果你的应用不使用 App 命名空间,你应该按需更新该服务提供者的类名。

默认的 App\Nova\UserNova 资源引用了 App\User 模型。如果你的模型放在别的目录或命名空间,请在资源中调整此值:

public static $model = 'App\\Models\\User';

好的!接下来,你可以在浏览器中访问应用的 /nova 路径,然后你会看到 Nova 管理面板,其中包含指向本文档各部分的链接。

包的稳定性

如果由于 minimum-stability 的设置导致无法为你的应用安装 Nova,请考虑将 minimum-stability 的值设置为dev、将 prefer-stable 的值设置为 true。这将允许为你的应用安装 Nova,同时仍保留优先安装稳定发行版。

授权 Nova

在你的 app/Providers/NovaServiceProvider.php 文件中,有一个 gate 方法。此授权 gate 控制了 非本地 环境对 Nova 的访问。默认当应用环境是 local 时,任何人都可以访问 Nova 面板。你可以按需自由修改此 gate 方法,以限制对 Nova 的访问:

/**
 * 注册 Nova gate。
 *
 * 此 gate 决定了谁可以在非本地环境访问 Nova 。
 *
 * @return void
 */
protected function gate()
{
    Gate::define('viewNova', function ($user) {
        return in_array($user->email, [
            'taylor@laravel.com',
        ]);
    });
}

更新 Nova

要更新你的 Nova 安装版,可以从 Nova 官网下载一份发行版 Zip 文件。下载完后,用此 Zip 文件的内容替换应用根目录下 nova 文件夹的内容。在更新完目录内容后,你可以运行 composer update 和 nova:publish 命令:

composer update

php artisan nova:publish

nova:publish 命令将会重新发布 Nova 的公共资源、配置、视图和语言文件。此命令不会覆盖已存在的配置、视图或语言文件。如果想覆盖已存在的文件,你可以在执行它时使用 --force 标志:

php artisan nova:publish --force

报告 Bug

如果你在 Laravel Nova 中发现 Bug,请在 Nova issues 的 GitHub 仓库提交 Issue 。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号