จะติดตั้ง Artisan ของ Laravel ได้อย่างไร?


88

ฉันต้องการสร้างการย้ายข้อมูลใน Laravel แต่ตามบทช่วยสอนฉันต้องการ Artisan CLI phpคำสั่งปรับการทำงานและฉันบน Windows ฉันพิมพ์php artisanหรือphp artisan listได้รับข้อผิดพลาดต่อไปนี้:

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

ฉันไม่พบคำแนะนำใด ๆ ในเอกสารประกอบหรือใน Google ฉันจะติดตั้ง Artisan ได้อย่างไร?


6
ฉันใช้เวลาสักพักกว่าจะรู้ว่าต้องเรียกใช้เครื่องมือ CLI ของ Laravel จากโฟลเดอร์รูทของโปรเจ็กต์ (อันที่อยู่ด้านบนappฉันยังลืมว่าฉันอยู่ที่ไหนในทุกๆครั้งระหว่างโปรเจ็กต์การพิมพ์pwdช่วยได้แน่นอน
mike

คำตอบ:


133

ใช้โฟลเดอร์รูทของโปรเจ็กต์

Artisan มาพร้อมกับ Laravel โดยค่าเริ่มต้นหากphpคำสั่งของคุณใช้งานได้ดีสิ่งเดียวที่คุณต้องทำคือไปที่โฟลเดอร์รูทของโปรเจ็กต์ โฟลเดอร์รากเป็นโฟลเดอร์หลักของappโฟลเดอร์ ตัวอย่างเช่น:

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

ตอนนี้php artisan listคำสั่งควรทำงานได้ดีเนื่องจาก PHP เรียกใช้ไฟล์ที่เรียกว่าartisanในโฟลเดอร์ของโครงการ

ติดตั้งกรอบ

โปรดทราบว่า Artisan เรียกใช้สคริปต์ที่เก็บไว้ในvendorโฟลเดอร์ดังนั้นหากคุณติดตั้ง Laravel โดยไม่มี Composer เช่นดาวน์โหลดและแยกLaravel GitHub repo แสดงว่าคุณไม่มีเฟรมเวิร์กเองและคุณอาจได้รับข้อผิดพลาดต่อไปนี้เมื่อคุณพยายามใช้ ช่าง:

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

ในการแก้ปัญหานี้คุณต้องติดตั้งเฟรมเวิร์กเองโดยเรียกใช้composer installในโฟลเดอร์รูทของโปรเจ็กต์


หมายเหตุ: บนเซิร์ฟเวอร์ที่ใช้งานจริง (เช่น Linux / Apache) ไซต์ Laravel ไม่ได้ถูกเรียกใช้จากโฟลเดอร์เว็บที่เปิดเผยต่อสาธารณะ (htdocs) แต่มาจากโฟลเดอร์ของผู้ใช้
ไมค์

2
หลังจากเรียกใช้composer installฉันยังคงได้รับข้อผิดพลาดเมื่อพยายามทำงานphp artisan optimizeโดยมีข้อผิดพลาดดูเหมือน{"error":{"type":"ErrorException","message":"file_put_contents(\/meta\/services.json): failed to open stream: No such file or directory"
Marcel

นี่เป็นการเริ่มต้นที่ดีสำหรับผู้ที่ยังมีปัญหากับช่างฝีมือ กระทู้นี้ช่วยได้ด้วย

12

คุณต้องอ่านหน้าการติดตั้ง laravel:

  1. ติดตั้ง Composer หากยังไม่ได้ติดตั้ง
  2. เปิดบรรทัดคำสั่งและทำ:
composer global require "laravel/installer"

ภายใน htdocs หรือไดเรกทอรี www ของคุณให้ใช้อย่างใดอย่างหนึ่ง:

laravel new appName

(อาจทำให้เกิดข้อผิดพลาดบนคอมพิวเตอร์ที่ใช้ Windows ขณะใช้ Laravel ล่าสุด (1.3.2)) หรือ:

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

(ใช้ได้กับ windows ด้วย) เพื่อสร้างโปรเจ็กต์ชื่อ "appName"

ในการใช้ "php artisan xyz" คุณต้องอยู่ในรูทโปรเจ็กต์ของคุณ! เนื่องจากช่างเป็นไฟล์ที่ php กำลังจะใช้ ... ง่ายอย่างนั้น;)


1
คำตอบนี้เกี่ยวกับการติดตั้ง Laravel ไม่ใช่ Artisan
totymedli

5

ในขณะที่คุณทำงานกับ Laravel คุณต้องอยู่ในรูทของโครงสร้างไดเร็กทอรี laravel มีโฟลเดอร์ App, route, public etc คือ root directory เพียงทำตามขั้นตอนด้านล่างเพื่อแก้ไขปัญหา ตรวจสอบสถานะผู้แต่งโดยใช้:composer -v

ขั้นแรกให้ดาวน์โหลดตัวติดตั้ง Laravel โดยใช้ Composer:

composer global require "laravel/installer"

โปรดตรวจสอบด้วยคำสั่งด้านล่าง:

php artisan serve

ยังใช้ไม่ได้ให้สร้างโครงการใหม่ด้วยรหัสที่มีอยู่ โดยใช้LINK


1
มีเพียงประโยคสุดท้ายของคุณเท่านั้นที่พยายามตอบคำถามและถึงแม้นั่นจะคลุมเครือและไม่เพียงพอ แต่ไม่ต้องพูดถึงว่ามีการโพสต์คำตอบอื่นไว้แล้วโดยละเอียด โปรดอ่านความช่วยเหลือเกี่ยวกับวิธีการที่จะตอบ
totymedli

@totymedli. โปรดปรับปรุงการให้คะแนนสำหรับคำตอบที่ให้มา แจ้งให้เราทราบยังคงมีข้อผิดพลาดใด ๆ
Jaymin

คุณเพิ่งเพิ่มคำสั่งช่างฝีมือเพิ่มเติม นั่นยังไม่สามารถแก้ปัญหาได้ CLI ช่างฝีมือเองใช้ไม่ได้แล้วฉันควรจะทำอย่างไรกับคำสั่งนี้? นอกจากนี้คำถามนี้ยังได้รับคำตอบมา 3 ปีแล้วด้วยตัวเอง ตรวจสอบว่าอะไรคือวิธีแก้ปัญหา เว้นแต่คุณจะให้คำตอบที่ดีกว่าคุณก็มาสายจากเกมนี้ ...
totymedli

1

คำอธิบาย : เมื่อคุณติดตั้งโปรเจ็กต์ laravel ใหม่ในโฟลเดอร์ของคุณ (เช่น myfolder) โดยใช้ตัวแต่งมันจะติดตั้งโปรเจ็กต์ laravel ที่สมบูรณ์ภายในโฟลเดอร์ของคุณ (myfolder / laravel) มากกว่าที่ช่างฝีมืออยู่ภายใน laravel นั่นคือสาเหตุที่คุณเห็นข้อผิดพลาด

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

วิธีแก้ไข : คุณต้องเข้าไปข้างในโดยพร้อมรับคำสั่งไปยังตำแหน่งนั้นหรือย้ายไฟล์ laravel ภายในโฟลเดอร์ของคุณ


คำตอบนี้ไม่ได้ให้ข้อมูลเพิ่มเติมเกี่ยวกับคำตอบอื่น ๆ ที่ระบุไว้แล้ว วิธีนี้ได้อธิบายรายละเอียดมากกว่าคำแนะนำที่คลุมเครือนี้แล้ว
totymedli

-7

ใน laravel ช่างเป็นไฟล์ที่อยู่ภายใต้รูท / เพจที่มีการป้องกัน

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

c: \ xampp \ htdocs \ my_project \ protected \ artisan

คุณสามารถดูเนื้อหาของไฟล์ "ช่างฝีมือ" ด้วยโปรแกรมแก้ไขข้อความใด ๆ มันเป็นไวยากรณ์คำสั่ง php

ดังนั้นเมื่อเราพิมพ์

php ช่างฝีมือ

เราบอกให้ php เรียกใช้สคริปต์ php ในไฟล์ "artisan"

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

php ช่างเปลี่ยน

จะแสดงการเปลี่ยนแปลงของเวอร์ชัน laravel ปัจจุบัน

หากต้องการดูตัวเลือกอื่นให้พิมพ์

php ช่างฝีมือ


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