Laravel 5 Impossibile aprire bootstrap richiesto /../ vendor / autoload.php


366

Di recente ho installato Laravel 5 tramite compositore. Ho provato a creare un nuovo controller usando artisan e ricevo il seguente errore:

bootstrap /../ vendor / autoload.php. Impossibile aprire il flusso: nessun file o directory. La cartella "fornitore" non esiste.

Mi sto perdendo qualcosa?

Risposte:


307

Esegui il compositore con --no-scripts

composer update --no-scripts  

Questo risolverà il problema. Ho provato questo su Mac e Linux.


14
A volte quando si esegue: "installazione compositore" si ottiene anche quell'errore, quindi l'opzione migliore è prima di tutto: "installazione compositore --no-script" e quindi eseguire l'installazione compositore normalmente.
erohat

3
Documentazione del compositore: --no-scripts: salta l'esecuzione degli script definiti in composer.json. ( getcomposer.org/doc/03-cli.md#update )
Aine

È molto meglio usare l'installazione del compositore, perché eseguirà tutto il necessario per installare tutte le dipendenze, inclusi gli script.
Leandro Jacques,

errore Il compositore non è riuscito a trovare un file composer.json in C: \ composer Per inizializzare un progetto, creare un file composer.json come descritto nella sezione "Guida introduttiva" di
getcomposer.org

composer installnon funzionava per me, ha composer update --no-scriptsfatto il lavoro. Grazie!
endo64,

137

Quale sistema operativo stai usando? Per Windows: vai aCommand Prompt

impostare il percorso su www/{ur project}

Per me : www/laravel5

Quindi digitare questo comando: composer install

Installerà automaticamente tutta la dipendenza in vendor/


97

Esegui composer installnella cartella del progetto principale (o php composer.phar install).


76

A quanto pare non ho abilitato openssl nel mio php.ini, quindi quando ho creato il mio nuovo progetto con il compositore, è stato installato dal sorgente. L'ho cambiato e sono corso

composer update

ora è stata creata la cartella del fornitore.


57

Hai creato un nuovo progetto o hai clonato un progetto esistente?

Se hai clonato un progetto esistente è molto importante eseguirlo

composer install

In questo modo verranno installate tutte le dipendenze mancanti.

Ma se crei un nuovo progetto, dovresti eseguire questo comando per creare un nuovo progetto usando compositore

composer create-project laravel/laravel name-of-your-project

23

Ho riscontrato lo stesso problema. Si è verificato perché compositore non è stato in grado di installare le dipendenze specificate nel file composer.json. prova a correre

composer install 

Se ciò non risolve il problema, assicurarsi che i seguenti moduli php siano installati php-mbstring php-dom

Per installare queste estensioni, eseguire quanto segue nel terminale

sudo apt-get install php-mbstring php-dom

una volta completata l'installazione

prova a eseguire il comando nella cartella principale del tuo progetto

composer install 

4
Ho installato php-xml per farlo funzionare piuttosto che php-dom (che non esiste in 16.04).
Evan Carroll,

1
Grande!!! Ha funzionato!! L'installazione di php-xml anziché php-dom è un'azione predefinita per apt-get in ubuntu 16.04
user2928048

1
ha funzionato dopo l'installazione di mbstring e php-dom. Grazie!
spaccato il

21

Basta eseguirlo nella directory in cui è stato installato il progetto

composer install

1
L'ho fatto e ha funzionato, ma perché? Mi piacerebbe capire il motivo per favore.
Simon Suh,

1
@SimonSuh per qualche motivo (errore di rete, nuovo progetto è stato creato senza passare attraverso tutti i comandi, errore durante l'installazione manuale, installazione di build personalizzata ...) dipendenze del compositore dove non sono state installate o non sono aggiornate. questo comando installerà e aggiornerà tutte le dipendenze del progetto e risolverà il problema. spero che sia
abbastanza

20

Devi rigenerare il autoload.phpfile. puoi usarlo dump-autoloadper farlo senza dover passare attraverso un'installazione o un aggiornamento.

uso

composer dump-autoload

per generare autoload.phpnuovamente il file nella /vendordirectory.


Questo funziona per me, ma ho questo errore Errore irreversibile: classe 'Illuminate \ Foundation \ Application' non trovata.
Adnan haider,

19

Seguendo questo passaggio, ho risolto il mio problema. Puoi provare

composer update --no-scripts 
composer update

1
Risolto anche il mio problema! Grazie
Crysfel,

1
Grazie mille!
GeekHades,

16

Dopo aver verificato la phpversione e molte ricerche, il problema era sul Composerlato, quindi basta eseguire il comando seguente

composer install --ignore-platform-reqs


6

Quando il nuovo progetto ha creato il laravel richiede di caricare i fornitori per caricare automaticamente le librerie, usiamo l'aggiornamento del compositore

composer update

Composer è un gestore delle dipendenze che ti consente di delegare la responsabilità della gestione delle dipendenze a terzi.


5

Basta eseguire i seguenti comandi,

composer update

O

composer install

5

vai alla cartella del tuo progetto tramite cmd. eseguire il comando seguente

composer update

installerà la cartella e i file del fornitore mancante nel progetto.

ma in alcuni casi, viene visualizzato un errore del tipo "La tua configurazione non consente la connessione a ....." in cmd.

per quello vai al tuo file composer.json ,

cambia "secure-http": truein"secure-http": false

ma in alcuni casi (come nel mio caso) potresti non trovare tale riga nel tuo file. per quello fare la seguente azione:

change "config": {
        "preferred-install": "dist"
}

per

"config": {
    "preferred-install": "dist",
    "secure-http": false
}

ed esegui di nuovo il composer updatecomando.

spero che questo risolva il problema.


5

Questa soluzione ha funzionato per me. Il motivo non è avere una cartella del fornitore nell'applicazione.

Segui questi passi:

  1. se il tuo progetto ha un composer.jsonfile, eliminalo

  2. quindi corri

    composer require phpspec/phpspec

Tale comando aggiunge la cartella del fornitore al progetto


4

Basta impostare un nuovo progetto usando composerinvece di laravelquesto:

composer create-project --prefer-dist laravel/laravel myProje

3

Ho anche avuto quell'errore. Ma nessuno dei precedenti ha risolto il problema. Quindi ho disinstallato e installato nuovamente il compositore. Poi l'ho fatto composer update. e il problema è stato risolto.


dopocomposer install
Hos Mercury,

3

Ho avuto lo stesso problema con laravel e artigiano, la soluzione:

php artisan key:generate

2

Prima di eseguire le seguenti istruzioni è necessario assicurarsi di avere installato compositore a livello globale sulla propria macchina; Apri il tuo terminale Mac ed esegui il seguente comando:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

una volta che il compositore è installato a livello globale, eseguire il comando seguente dopo essere nella directory del progetto:

composer install

una volta completato, aggiorna e installa tutti i pacchetti richiesti.


2

Abbiamo ottenuto un errore perché abbiamo manca vendor cartella nel nostro progetto, la directory contiene vendor nostre dipendenze Composer.

Hai bisogno di una /vendorcartella perché ci sono tutti i pacchetti e incluse tutte le classi utilizzate da Laravel, un problema può essere risolto dopo aver seguito solo due passaggi:

composer update --no-scripts 
composer update
  • --no-scripts : salta l'esecuzione degli script definiti incomposer.json
  • aggiornamento del compositore : verificherà la presenza di versioni più recenti delle librerie richieste nel progetto. Se viene trovata una versione più recente ed è compatibile con il vincolo di versione definito nel composer.jsonfile, sostituirà la versione precedente installata. Il composer.lockfile verrà aggiornato per riflettere queste modifiche.

Questi due comandi ricreano la cartella del fornitore nel nostro progetto e successivamente il nostro progetto funzionerà senza problemi.


1

Ho aggiunto il composer.lockfile a .gitignore, dopo che il commit di quel file nell'errore del repository è sparito :)


1

Qualcosa che realizzo è che il tuo file composer.json avrà una sorta di script come

"scripts": {
    "post-root-package-install": [
        "php -r \"copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "php artisan key:generate"
    ],
    "post-install-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "pre-update-cmd": [
        "php artisan clear-compiled"
    ],
    "post-update-cmd": [
        "php artisan optimize"
    ],
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover"
    ]
},

cosa funziona per me:

"scripts": {
    "post-root-package-install": [
        "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "@php artisan key:generate"
    ],
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover"
    ]
},

la rimozione ha post install cmdaiutato a eseguire l'installazione di compositore senza alcun problema.

Spero che sia di aiuto

Saluti!!


1

Elimina la cartella del fornitore ed esegui il comando di installazione di Composer. Funziona al 100%


1

Manca la cartella del fornitore, probabilmente il suo nuovo repository clonato o il nuovo progetto

la cartella del fornitore è popolata dal binario del compositore che legge i requisiti di sistema o di file composer.json e installa i pacchetti nella cartella del fornitore e crea uno script di caricamento automatico che ha tutto classificato

composer update


0

Nel mio caso ho dovuto abilitare un'altra estensione, vale php_mbstring.dlla dire nel php.inifile prima che potesse funzionare. È elencato sotto extension=php_mbstring.dll. Trovalo nel php.inifile e rimuovi il punto e virgola ( ;) davanti a esso e salva il file.

Dopo questo, esegui di install composernuovo nella directory principale della tua applicazione Laravel e dovrebbe funzionare.


0

Se sei un utente Windows puoi disinstallare Composer. Quindi installare Composer. Dopo di ciò si installa Laravel. Forse funzionerà.


0

il mio problema è risolto da

composer update
composer install
php artisan key:generate

se hai altri problemi puoi cancellare la cache e configurare Cancella percorso cache:

php artisan route:cache

Cancella vista cache:

php artisan view:clear

Cancella cache di configurazione:

php artisan config:cache

0

L'ho preso quando l'ho fatto composer updateinvece di composer install.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.