Laravel, how to manually install package without composer

Viewed 36497

Wanted to install Laravel-Excel (Maatwebsite) package manually without composer, but I dont know how.

Why? Because I have a laravel project in a free hosting server setup by other guy, and I can only access using Filezilla to edit/download/upload the codes.

If only Filezilla allow a command prompt that could use "composer update", then it will be easier.

7 Answers

I got solution! I cant use composer on my company because of secure network. But i can download zip form github and install it manual. The below is my example for HTMLPurifier:

  1. download and extract library mews/purifier to vendor directory https://github.com/mewebstudio/Purifier
  2. add below line in vendor/composer/autoload_psr4.php

This sentence will load all of file from vendor/mews/purifier/src and autoload in namespace Mews\Purifier\

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

Sometime you need add library into autoload_namespaces.php intead of, please read in https://getcomposer.org/doc/04-schema.md#autoload

You got Mews\Purifier\Facades\Purifier not found if public config before finish step 3

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

  1. add below json in vendor/composer/installed.json

This for composer history, providers and aliases will be load in config/app/php for register new provider

{
    "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/"
        }
    }
},

Now you run this config, then vendor/mews/purifier/config will be move to config folder

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

it's easy to do it by following this download the package and set the files in app folder

YourProject/app/Laravel-Excel/

and then add the path to composer.json in autoload

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

Run the composer dump-autoload

the solution refs to this question referance answer

If everything works on local environment then copy your package and composer folder to server which is located at vendor

upload \vendor\maatwebsite copy \vendor\maatwebsite\excel\src\config\excel.php to \config\excel.php

Related