ไม่สามารถเปิดไฟล์อินพุต: artisan


264

เมื่อพยายามสร้างโครงการ laravel ใหม่ข้อผิดพลาดต่อไปนี้จะปรากฏบน CLI:

ไม่สามารถเปิดไฟล์อินพุต: artisan

สคริปต์ php artisan รวบรวมการจัดการเหตุการณ์ post-install-cmd ที่ส่งคืนโดยมีข้อผิดพลาด

ฉันใช้ XAMPP v3.2.1 รุ่นล่าสุดกับ PHP 5.5.15 และเปิดใช้งาน mcrypt (ตรวจสอบให้แน่ใจโดยการออกคำสั่ง php -m) และฉันใช้ windows 8.1


1
ดูเหมือนว่าคำถามนี้จะเก่า คุณเข้าใจปัญหาหรือไม่ หากคุณจะไม่รังเกียจให้แชร์คำถามกับทีมอื่น ๆ :)
21419 Zarathuztra

10
ฉันคิดว่าช่าง PHP ต้องถูกเรียกจากโฟลเดอร์รูทของไซต์ laravel มิฉะนั้นข้อผิดพลาดนี้จะป๊อปอัป
Eugine Joseph

คุณจำเป็นต้องเรียกใช้คำสั่งช่างของคุณในระดับเดียวกับไดเรกทอรีช่างของคุณ สิ่งนี้จะทำให้แน่ใจว่าคุณอยู่ในโครงการ Laravel ของคุณ
Sweet Chilly Philly

1
Sidenote: ตอนแรกฉันคิดว่าเมื่อphp artisan ...ถูกเรียกมันเป็นตัวเลือกบางอย่างสำหรับphpคำสั่ง ปรากฎว่ามันหมายถึงไฟล์ชื่อartisanซึ่งอยู่ในรากของโครงการ laravel ของคุณ ควรเรียกใช้artisan.phpเนื่องจากเป็นสคริปต์ php จริง แต่ส่วนขยายถูกละเว้นเพื่อวัตถุประสงค์ที่สั้น
Flame

คำตอบ:


395

คุณต้องแรกสร้างโครงการ Laravelและถ้าคุณมีคนที่คุณต้องไปที่ dir โครงการนี้โดยใช้cdคำสั่งใน terminal cd myprojectตัวอย่างเช่น

ตอนนี้คุณจะสามารถเรียกใช้คำสั่งของช่างฝีมือได้ตัวอย่างเช่นการรันphp artisanจะแสดงรายการคำสั่งที่มีให้คุณ


2
ข้อผิดพลาดนี้ปรากฏขึ้นเมื่อฉันพยายามสร้างโครงการ laravel ใหม่: cd xampp / htdocs จากนั้นผู้แต่งสร้างโครงการ laravel / laravel ใหม่ laravelProjecter มันเริ่มดาวน์โหลดการอ้างอิงที่จำเป็นทั้งหมดและทันใดข้อผิดพลาดนี้จะปรากฏขึ้น
wessodesigner

1
หากคุณย้ายโฟลเดอร์แอพของคุณด้วย. env, โฟลเดอร์ผู้ขาย, โฟลเดอร์ config ... ฯลฯ ไปยังที่อื่นคุณอาจต้องเปลี่ยนรูทไดเรกทอรีเป็นตำแหน่งนี้
Eranda

นี่ควรเป็นคำตอบที่เลือก ทำงานอย่างสมบูรณ์แบบ!
ชาด

149

คุณไม่สามารถใช้php artisanหากคุณไม่ได้อยู่ในlaravelโฟลเดอร์โครงการ

'Could not open input file - artisan'นั่นคือเหตุผลที่มันบอกว่า


แน่นอนคุณต้องทำcomposer installเกือบหนึ่งครั้ง
Leonardo Saracini

21

หากคุณทำโครงการอยู่ที่ /home/forge/laravel-project/

คุณสามารถรันช่างฝีมือของคุณอย่างนี้

php /home/forge/laravel-project/artisan ...


ใน Windows คุณสามารถทำได้php 'E:\path\to_your_domain\artisan' october:up
Dmitry



9

อันดับแรกต้องแน่ใจว่าอยู่ในโฟลเดอร์โปรเจค laravel มิฉะนั้นเทอร์มินัลจะไม่สามารถค้นหาartisanไฟล์ในไดเรกทอรีโครงการและคำขอใด ๆ ที่ตามมาที่คุณดึงเพื่อเริ่มต้นเซิร์ฟเวอร์จะถูกปฏิเสธ

การสาธิต

สมมติว่าชื่อโครงการ laravel ของเราblogตั้งอยู่ในC:\laravel เราจากนั้นมี:C:\laravel\blog

จะเปิดเทอร์มินัลที่ไหน

นำทางไปยัง C:\laravel\blogไดเรกทอรีและเปิดหน้าต่างคำสั่ง (เทอร์มินัล) ใส่รหัสด้านล่าง:

รหัสเทอร์มินัล Laravel เพื่อเริ่มต้นเซิร์ฟเวอร์

php artisan serve --host 127.0.0.1


6

คุณต้องอยู่ในโฟลเดอร์ Laravel Project

เมื่อสร้างโครงการใหม่ด้วยlaravel new project-nameโฟลเดอร์จะถูกสร้างด้วยชื่อโครงการเป็นชื่อ คุณต้องเข้าไปในโฟลเดอร์นั้นก่อนที่จะใช้php artisanคำสั่งใด ๆเช่นphp artisan serveเพราะไฟล์ช่างอยู่ในโฟลเดอร์นั้น


5

ฉันยังมีปัญหาฉันเพิ่งติดตั้ง แต่ลืมที่จะข้ามโฟลเดอร์โครงการที่สร้างขึ้น ดังนั้นคุณต้องข้ามโฟลเดอร์โครงการของคุณ

cd project_name

แล้วใช้คำสั่ง PHP ช่างฝีมือ


4

ตรวจสอบให้แน่ใจว่าคุณอยู่ในโฟลเดอร์โครงการโดยพิมพ์

ls

ถ้าไม่เช่นนั้นไปที่โฟลเดอร์โครงการโดยพิมพ์

 cd folder_name

ตัวอย่างเช่น:

cd laravel

จากนั้นพิมพ์

php artisan serve


3

หากเป็นการติดตั้ง laravel ครั้งแรกของคุณให้สร้างไดเรกทอรี / โฟลเดอร์อื่นภายในไดเรกทอรี laravel แล้วย้ายไปยังโฟลเดอร์ว่างนั้นและสร้างโครงการอื่นโดยใช้คำสั่งด้านล่าง:

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

สิ่งนี้จะสร้างโครงการใหม่ชื่อ "บล็อก" จากนั้นกลับไปยังไดเรกทอรีหลัก laravel และตอนนี้คุณสามารถเรียกใช้คำสั่งนี้:

php artisan serve

คุณจะได้รับผลตอบแทนเช่น:

laravel deployment server started: http://localhost:8000

ดูภาพที่แนบมา ป้อนคำอธิบายรูปภาพที่นี่


2

sudoลองรันมันเป็น

sudo laravel new blog

ไฟล์ของคุณอาจไม่มีการอนุญาตที่เหมาะสม แจ้งให้เราทราบหากใช้งานได้!


4
คุณไม่สามารถ sudo บน windows
Zarathuztra

โอ้ใช่ฉันไม่ดี ฉัน havin ปัญหานี้เกี่ยวกับ Homestead และมันเป็นเพียงการอนุญาต แต่คุณพูดถูก
Eduardo Kasper

1
ขอบคุณ sudo ทำงานให้ฉันหลังจากที่มีปัญหานี้ ฉัน ssh-ed เข้าสู่เซิร์ฟเวอร์ Linux ของฉัน
สกอตต์

2

ฉันตรวจสอบโครงการ Laravel ที่มีอยู่ซึ่งไม่มีสคริปต์นี้ แม้แต่find / -name 'artisan'ผลิตผลไม่ การแก้ปัญหากลายเป็นเรื่องง่ายถ้าเป็นเรื่องแปลก:

curl -L 'https://raw.githubusercontent.com/laravel/laravel/v4.2.11/artisan' > artisan

คุณอาจต้องการเลือกเวอร์ชันที่ติดแท็กที่ตรงกับ Laravel เวอร์ชันที่ติดตั้งของคุณ


2

หากคุณกำลังใช้งานโครงการ Laravel ใน Vagrant และมีเพียง SSH-ed ในเครื่องเสมือนอย่าลืมcd /vagrantก่อนที่จะลองใช้คำสั่งงานฝีมือ!


2

หลังจากดิ้นรนกับปัญหานี้ฉันพบว่าคุณต้องค้นหาว่าช่างอยู่ที่ไหนโดยการวิ่งsudo find / -name artisanและจากนั้นรันคำสั่งphp artisan ....


1

ก่อนอื่นให้ไปที่โฟลเดอร์ Laravel จากนั้นพิมพ์คำสั่งของช่างฝีมือเช่นถ้าชื่อแอป Laravel ของคุณ "Demopro"

ดังนั้นเปิด cmd และด้วยความช่วยเหลือของคำสั่ง cd ไปใน Demopro แล้วใช้คำสั่ง artisan


1

หลังจากสร้างโครงการคุณควรย้ายในโฟลเดอร์ก่อนที่จะออกคำสั่ง


1

ฉันคิดว่าคุณไม่ได้อยู่ในไดเรกทอรีโครงการ laravel โปรดไปที่ไดเรกทอรีโครงการ laravel โดยใช้คำสั่งต่อไปนี้

 cd projectName

1

หลังจากติดตั้งผู้แต่งคุณต้องสร้างโครงการ:

composer create-project laravel/laravel /path/to/tour/project

คุณสามารถดูเอกสารประกอบสำหรับเวอร์ชัน php ของคุณ Laravel ล่าสุดที่คุณสามารถติดตั้งได้คือ 5.0

ตอนนี้วันนี้เป็นรุ่นล่าสุดและต้องการ> php7.0 นี่คือเอกสาร


1

เคล็ดลับสำหรับฉันคือทำcd srcจาก directoy โครงการของฉันแล้วใช้php artisanคำสั่งเนื่องจากartisanไฟล์ของฉันอยู่ในsrcโฟลเดอร์ นี่คือโครงสร้างโครงการของฉัน:

project
|__ config
|__ src
    |__ app
    |__ ..
    |__ artisan  // hello there!
    |__ ...
|__ ...

1

ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากคุณไม่ได้ติดตั้งผู้แต่งในโครงการของคุณ

เรียกใช้composer installคำสั่งในเส้นทางโครงการของคุณ


0

-> cd ..

-> cd project_dir

-> php artisan ('ใช้งานได้ดี')

ในกรณีของฉันฉันลบไดเรกทอรีและโคลนซ้ำ repo จากไดเรกทอรีเดียวกันผ่าน terminal จากนั้นฉันย้อนกลับไปหนึ่งก้าวแล้วก้าวเข้าสู่โฟลเดอร์โครงการอีกครั้งและปัญหาก็หายไป


0

เพียงลองและดำเนินการคำสั่งในไดเรกทอรีที่มีรหัส laravel ทั้งหมดอยู่ เกิดขึ้นกับฉันเช่นกันฉันพยายามเรียกใช้คำสั่งในโฟลเดอร์รูทของโปรเจ็กต์ แต่รหัสนั้นอยู่ในไดเรกทอรีย่อย


0

ขั้นแรกสร้างโครงการจากลิงค์ต่อไปนี้เพื่อสร้างโครงการ larave 7: สร้างโครงการ

ตอนนี้คุณต้องป้อนโฟลเดอร์โครงการของคุณโดยใช้คำสั่งต่อไปนี้:

cd myproject

ตอนนี้พยายามเรียกใช้artisanคำสั่งเช่นphp artisan .

หรืออาจเกิดขึ้นหากคุณไม่ได้ติดตั้งเขียน ดังนั้นหากคุณไม่ได้ติดตั้งผู้แต่งให้เรียกใช้แล้วcomposer installลองartisanคำสั่งอีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.