簡體   English   中英

Laravel,如何在沒有作曲家的情況下手動安裝包

[英]Laravel, how to manually install package without composer

想在沒有作曲家的情況下手動安裝 Laravel-Excel (Maatwebsite) 包,但我不知道如何。

為什么? 因為我在其他人設置的免費托管服務器中有一個 laravel 項目,我只能使用 Filezilla 訪問來編輯/下載/上傳代碼。

如果只有 Filezilla 允許可以使用“composer update”的命令提示符,那么它會更容易。

  1. 將包添加到供應商文件夾。 您可以使用 filezilla 上傳它
  2. 在 \\vendor\\composer\\autoload_namespaces.php 中添加引用
  3. 在\\vendor\\composer\\autoload_psr4.php 中添加引用

來源laravel.io

我得到了解決方案! 由於網絡安全,我無法在我的公司使用 Composer。 但我可以從 github 下載 zip 格式並手動安裝。 下面是我的HTMLPurifier示例:

  1. 下載並解壓庫 mews/purifier 到供應商目錄https://github.com/mewebstudio/Purifier
  2. vendor/composer/autoload_psr4.php 中添加以下行

這句話將從 vendor/mews/purifier/src 加載所有文件並自動加載到命名空間 Mews\\Purifier\\

'Mews\\Purifier\\' => array($vendorDir . '/mews/purifier/src'),

有時您需要將庫添加到autoload_namespaces.php 而不是,請閱讀https://getcomposer.org/doc/04-schema.md#autoload

如果在完成第 3 步之前沒有找到公共配置,你會得到 Mews\\Purifier\\Facades\\Purifier

$ php artisan vendor:publish --provider="Mews\\Purifier\\PurifierServiceProvider"

  1. vendor/composer/installed.json 中添加以下 json

這對於作曲家歷史,提供者別名將加載在 config/app/php 中以注冊新的提供者

{
    "name": "mews/purifier",
    "version": "v2.0.12",
    "type": "library",
    "extra": {
        "laravel": {
            "providers": [
                "Mews\\Purifier\\PurifierServiceProvider"
            ],
            "aliases": {
                "Purifier": "Mews\\Purifier\\Facades\\Purifier"
            }
        }
    },
    "autoload": {
        "psr-4": {
            "Mews\\Purifier\\": "src/"
        }
    }
},

現在你運行這個配置,然后 vendor/mews/purifier/config 將被移動到 config 文件夾

$ php artisan vendor:publish --provider="Mews\\Purifier\\PurifierServiceProvider"

在本地下載包,然后上傳包文件夾(在供應商下找到)以及更新的 composer.json

按照這個下載包並在應用程序文件夾中設置文件很容易做到這一點

YourProject/app/Laravel-Excel/

然后在自動加載中添加 composer.json 的路徑

"autoload": {
    ...
    "classmap": [
        "database/seeds",
        "database/factories"
        "app/Laravel-Excel"
    ],
    ...
},

運行composer dump-autoload

解決方案參考了這個問題參考答案

根據服務器的嚴格程度,您可以通過 SSH 連接到您的服務器。 但是在本地做然后上傳所需的文件通常是要走的路。

如果您不擦除緩存,您可能需要運行 composer autodump。

如果一切都在本地環境中運行,則將您的包和作曲家文件夾復制到位於供應商處的服務器

上傳\\vendor\\maatwebsite copy \\vendor\\maatwebsite\\excel\\src\\config\\excel.php 到\\config\\excel.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM