Comment installer l'Artisan de Laravel?


86

Je souhaite créer des migrations dans Laravel mais selon les tutoriels, j'ai besoin de la CLI Artisan. La phpcommande fonctionne bien et je suis sous Windows. Je tape php artisanou php artisan listet j'obtiens l'erreur suivante:

Impossible d'ouvrir le fichier d'entrée: artisan

Je n'ai trouvé aucun guide dans la documentation ni dans Google. Comment puis-je installer Artisan?


6
Il m'a fallu un certain temps pour réaliser que les outils CLI de Laravel doivent être exécutés à partir du dossier racine du projet (celui juste au-dessus app. J'oublie toujours où je suis de temps en temps au milieu d'un projet. Taper pwdaide à coup sûr.
mike

Réponses:


132

Utiliser le dossier racine du projet

Artisan est livré avec Laravel par défaut, si votre phpcommande fonctionne correctement, la seule chose que vous devez faire est de naviguer vers le dossier racine du projet . Le dossier racine est le dossier parent du appdossier . Par exemple:

cd c:\Program Files\xampp\htdocs\your-project-name

Maintenant, la php artisan listcommande devrait fonctionner correctement, car PHP exécute le fichier appelé artisandans le dossier du projet.

Installer le framework

Gardez à l'esprit qu'Artisan exécute des scripts stockés dans le vendordossier, donc si vous avez installé Laravel sans Composer, comme le téléchargement et l'extraction du dépôt Laravel GitHub , vous n'avez pas le framework lui-même et vous pouvez obtenir l'erreur suivante lorsque vous essayez d'utiliser Artisan:

Impossible d'ouvrir le fichier d'entrée: artisan

Pour résoudre ce problème, vous devez installer le framework lui-même en l'exécutant composer installdans le dossier racine de votre projet.


Remarque: sur un serveur de production en direct (par exemple, Linux / Apache), le site Laravel n'est pas exécuté à partir du dossier Web accessible au public (htdocs) mais à partir du dossier de l'utilisateur.
mike

2
Après l'exécution composer install, j'obtiens toujours une erreur lorsqu'il tente de fonctionner php artisan optimizeavec l'erreur qui ressemble à{"error":{"type":"ErrorException","message":"file_put_contents(\/meta\/services.json): failed to open stream: No such file or directory"
Marcel

C'est un bon début pour les personnes qui ont encore des problèmes avec l'artisan. Cet article peut également vous aider.

11

Il vous suffit de lire la page d'installation de laravel:

  1. Installez Composer s'il n'est pas déjà installé
  2. Ouvrez une ligne de commande et faites:
composer global require "laravel/installer"

Dans votre répertoire htdocs ou www, utilisez soit:

laravel new appName

(cela peut entraîner une erreur sur les ordinateurs Windows lors de l'utilisation de la dernière version de Laravel (1.3.2)) ou:

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

(cela fonctionne également sur Windows) pour créer un projet appelé "appName".

Pour utiliser "php artisan xyz", vous devez être à la racine de votre projet! comme artisan est un fichier que php va utiliser ... C'est aussi simple que ça;)


1
Cette réponse concerne l'installation de Laravel, pas d'Artisan.
totymedli

5

Pendant que vous travaillez avec Laravel, vous devez être à la racine de la structure de répertoires de laravel. Il y a des dossiers App, route, public, etc. dans le répertoire racine. Suivez simplement l'étape ci-dessous pour résoudre le problème. vérifier le statut du compositeur en utilisant:composer -v

Tout d'abord, téléchargez le programme d'installation de Laravel à l'aide de Composer:

composer global require "laravel/installer"

Veuillez vérifier avec la commande ci-dessous:

php artisan serve

ne fonctionne toujours pas, puis créez un nouveau projet avec le code existant. en utilisant LINK


1
Seule votre dernière phrase tente de répondre à la question et même cela est tout à fait ambigu et maigre, sans oublier qu'elle a déjà été publiée dans une autre réponse plus en détail. Veuillez lire l' aide pour savoir comment répondre .
totymedli

@totymedli. Veuillez améliorer la note pour la réponse fournie. Faites-moi savoir encore tout mis.
Jaymin

Vous venez d'ajouter plus de commandes artisanales. Cela ne résout toujours pas le problème. La CLI artisan elle-même ne fonctionne pas, que suis-je censé faire avec la commande alors? Aussi la question a été répondue depuis 3 ans maintenant par moi-même. Découvrez quelle était la solution. À moins que vous ne fournissiez une meilleure réponse, vous êtes un peu en retard de ce jeu ...
totymedli

1

Explication : Lorsque vous installez un nouveau projet laravel sur votre dossier (par exemple myfolder) à l'aide du composeur, il installe le projet laravel complet dans votre dossier (myfolder / laravel) alors qu'artisan se trouve dans laravel. C'est pourquoi vous voyez une erreur,

Impossible d'ouvrir le fichier d'entrée: artisan

Solution : vous devez entrer par invite de commande à cet emplacement ou déplacer les fichiers laravel dans votre dossier.


Cette réponse ne fournit aucune information supplémentaire sur les autres réponses déjà énoncées. Cette solution a déjà été expliquée de manière beaucoup plus détaillée que ce vague guide.
totymedli

-7

dans laravel, artisan est un fichier sous root / page protégée

par exemple,

c: \ xampp \ htdocs \ mon_projet \ protected \ artisan

vous pouvez voir le contenu du fichier "artisan" avec n'importe quel éditeur de texte, c'est une syntaxe de commande php

alors quand on tape

artisan php

nous disons à php d'exécuter le script php dans le fichier "artisan"

par exemple:

changement d'artisan php

affichera le changement de la version actuelle de laravel

pour voir l'autre option, tapez simplement

artisan php


3
Cela n'a rien à voir avec la question. Ne répond pas pourquoi la commande artisan ne fonctionne pas, elle répertorie simplement quelques commandes artisanales que vous ne pouvez même pas essayer parce que, eh bien ... la commande ne fonctionne pas.
totymedli
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.