Laravel Nova 安裝

2023-02-16 17:07 更新

要求

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

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

安裝 Nova

只要購買一份 Nova 許可,你就可以在 Nova 官網(wǎng)的「releases」部分下載一份 Nova 發(fā)行版。下載完包含 Nova 源碼的 Zip 文件后,需要在你 Laravel 應用的 composer.json 文件里用 Composer 的「path」倉庫安裝它。

首先,將 Nova 發(fā)行版壓縮包解壓到你的應用根目錄下的 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 的服務提供者,并發(fā)布資源文件:

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 管理面板,其中包含指向本文檔各部分的鏈接。

包的穩(wěn)定性

如果由于 minimum-stability 的設置導致無法為你的應用安裝 Nova,請考慮將 minimum-stability 的值設置為dev、將 prefer-stable 的值設置為 true。這將允許為你的應用安裝 Nova,同時仍保留優(yōu)先安裝穩(wěn)定發(fā)行版。

授權 Nova

在你的 app/Providers/NovaServiceProvider.php 文件中,有一個 gate 方法。此授權 gate 控制了 非本地 環(huán)境對 Nova 的訪問。默認當應用環(huán)境是 local 時,任何人都可以訪問 Nova 面板。你可以按需自由修改此 gate 方法,以限制對 Nova 的訪問:

/**
 * 注冊 Nova gate。
 *
 * 此 gate 決定了誰可以在非本地環(huán)境訪問 Nova 。
 *
 * @return void
 */
protected function gate()
{
    Gate::define('viewNova', function ($user) {
        return in_array($user->email, [
            'taylor@laravel.com',
        ]);
    });
}

更新 Nova

要更新你的 Nova 安裝版,可以從 Nova 官網(wǎng)下載一份發(fā)行版 Zip 文件。下載完后,用此 Zip 文件的內容替換應用根目錄下 nova 文件夾的內容。在更新完目錄內容后,你可以運行 composer update 和 nova:publish 命令:

composer update

php artisan nova:publish

nova:publish 命令將會重新發(fā)布 Nova 的公共資源、配置、視圖和語言文件。此命令不會覆蓋已存在的配置、視圖或語言文件。如果想覆蓋已存在的文件,你可以在執(zhí)行它時使用 --force 標志:

php artisan nova:publish --force

報告 Bug

如果你在 Laravel Nova 中發(fā)現(xiàn) Bug,請在 Nova issues 的 GitHub 倉庫提交 Issue 。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號