ไม่พบ Class Illuminate \ Support \ Facades \ RateLimiter

Sep 22 2020

ฉันได้สร้างโครงการ laravel ของฉันดังนี้:

laravel new my_app

สิ่งนี้สร้างโครงการของฉันโดยใช้ laravel เวอร์ชัน 8 เนื่องจากฉันต้องการใช้ Laravel 7 ฉันจึงแก้ไข composer.json:

 "laravel/framework": "^7.0",

หลังจากนั้นฉันเรียกใช้:

composer update

ซึ่งลงท้ายด้วยข้อผิดพลาดที่อธิบายไว้ (ไม่พบ Class Illuminate \ Support \ Facades \ RateLimiter)

ในความเป็นจริงคลาสนั้นไม่มีอยู่ในส่วนสนับสนุน กระบวนการดาวน์เกรดไม่ควรแก้ไขสิ่งนี้ใช่หรือไม่

คำตอบ

3 lagbox Sep 22 2020 at 17:23

ไม่นี่มาจากรหัสในแอปพลิเคชันของคุณ App\Providers\RouteServiceProviderโดยเฉพาะของคุณ ทุกสิ่งที่ไม่ได้อยู่ในvendorนั้นถือเป็นแอปพลิเคชันของคุณและไม่ได้สัมผัสกับการอัพเกรดหรือดาวน์เกรด laravel/laravelแพคเกจเพียงตั้งค่าโครงกระดูกใบสมัครของคุณสำหรับคุณ คุณสามารถติดตั้ง Laravel 7 โดยเฉพาะด้วยcomposer create-project --prefer-dist laravel/laravel:^7.0 yourproject; คุณสามารถดูคำแนะนำได้ในคู่มือการติดตั้งสำหรับ Laravel 7

มิฉะนั้นคุณอาจต้องคัดลอกผู้ให้บริการจากlaravel/laravelเวอร์ชัน 7 ลงในแอปพลิเคชันของคุณดังนั้นคุณจึงไม่ได้ใช้ผู้ให้บริการจาก Laravel 8 เนื่องจากมีการเปลี่ยนแปลงบางอย่างและมีการแนะนำคุณลักษณะใหม่ ๆ และจะมีการเปลี่ยนแปลงอื่น ๆ เช่นกัน

Laravel 7.x Docs - การติดตั้ง - ผ่าน Composer Create-Project composer create-project