Làm thế nào để cài đặt Laravel's Artisan?


86

Tôi muốn tạo di chuyển trong Laravel nhưng theo hướng dẫn, tôi cần Artisan CLI. Các phplệnh hoạt động tốt và tôi trên Windows. Tôi nhập php artisanhoặc php artisan listvà gặp lỗi sau:

Không thể mở tệp đầu vào: nghệ nhân

Tôi không thể tìm thấy bất kỳ hướng dẫn nào trong tài liệu cũng như trong Google. Làm cách nào để cài đặt Artisan?


6
Phải mất một lúc để tôi nhận ra rằng các công cụ CLI của Laravel sẽ được chạy từ thư mục gốc của dự án (cái ở ngay trên app. Tôi vẫn quên mình đang ở đâu mọi lúc, mọi nơi khi đang làm việc giữa một dự án. Đánh máy pwdchắc chắn sẽ giúp được.
mike

Câu trả lời:


132

Sử dụng thư mục gốc của dự án

Artisan đi kèm với Laravel theo mặc định, nếu phplệnh của bạn hoạt động tốt, thì điều duy nhất bạn cần làm là điều hướng đến thư mục gốc của dự án . Thư mục gốc là thư mục mẹ của appthư mục . Ví dụ:

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

Bây giờ php artisan listlệnh sẽ hoạt động tốt, vì PHP chạy tệp được gọi artisantrong thư mục của dự án.

Cài đặt khung

Hãy nhớ rằng Artisan chạy các tập lệnh được lưu trữ trong vendorthư mục, vì vậy nếu bạn đã cài đặt Laravel mà không có Trình soạn thảo, chẳng hạn như tải xuống và giải nén repo Laravel GitHub , thì bạn không có chính khuôn khổ đó và bạn có thể gặp lỗi sau khi cố gắng sử dụng Nghệ nhân:

Không thể mở tệp đầu vào: nghệ nhân

Để giải quyết vấn đề này, bạn phải cài đặt chính khung công tác đó bằng cách chạy composer installtrong thư mục gốc của dự án.


Lưu ý: trên máy chủ sản xuất trực tiếp (tức là Linux / Apache), trang Laravel không được chạy từ thư mục web có sẵn công khai (htdocs) mà từ thư mục của người dùng.
mike

2
Sau khi chạy composer install, tôi vẫn gặp lỗi khi nó cố gắng chạy php artisan optimizevới lỗi trông giống như{"error":{"type":"ErrorException","message":"file_put_contents(\/meta\/services.json): failed to open stream: No such file or directory"
Marcel

Đây là một khởi đầu tuyệt vời cho những người vẫn còn vướng mắc với nghệ nhân. Bài đăng này cũng có thể giúp ích.

11

Bạn chỉ cần đọc trang cài đặt laravel:

  1. Cài đặt Composer nếu chưa được cài đặt
  2. Mở một dòng lệnh và thực hiện:
composer global require "laravel/installer"

Bên trong thư mục htdocs hoặc www của bạn, hãy sử dụng:

laravel new appName

(điều này có thể dẫn đến lỗi trên máy tính windows khi sử dụng Laravel mới nhất (1.3.2)) hoặc:

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

(tính năng này cũng hoạt động trên windows) để tạo một dự án có tên "appName".

Để sử dụng "php Artian xyz", bạn phải ở bên trong thư mục gốc của dự án! vì nghệ nhân là một tệp php sẽ sử dụng ... Đơn giản vậy thôi;)


1
Câu trả lời này là về cài đặt Laravel, không phải Artisan.
totymedli

5

Trong khi làm việc với Laravel, bạn phải ở trong thư mục gốc của cấu trúc thư mục laravel. Có các thư mục App, route, public etc là thư mục gốc. Chỉ cần làm theo bước dưới đây để khắc phục sự cố. kiểm tra trạng thái của nhà soạn nhạc bằng cách sử dụng:composer -v

Đầu tiên, tải xuống trình cài đặt Laravel bằng Composer:

composer global require "laravel/installer"

Vui lòng kiểm tra bằng lệnh dưới đây:

php artisan serve

vẫn không hoạt động sau đó tạo dự án mới với mã hiện có. sử dụng LINK


1
Chỉ câu cuối cùng của bạn cố gắng trả lời câu hỏi và thậm chí câu đó hoàn toàn mơ hồ và ít ỏi, chưa kể nó đã được đăng trong một câu trả lời khác chi tiết hơn. Mời bạn đọc giúp cách trả lời .
totymedli

@totymedli. Vui lòng cải thiện xếp hạng cho câu trả lời được cung cấp. Hãy cho tôi biết vẫn còn bất kỳ sai sót.
Jaymin

Bạn vừa thêm nhiều lệnh thủ công hơn. Điều đó vẫn không giải quyết được vấn đề. Bản thân CLI của nghệ nhân không hoạt động, lúc đó tôi phải làm gì với lệnh? Cũng là câu hỏi đã 3 năm nay tự mình trả lời . Kiểm tra giải pháp là gì. Trừ khi bạn cung cấp một câu trả lời tốt hơn bạn là khá muộn từ trò chơi này ...
totymedli

1

Giải thích : Khi bạn cài đặt một dự án laravel mới trên thư mục của mình (ví dụ: myfolder) bằng cách sử dụng trình soạn nhạc, nó sẽ cài đặt dự án laravel hoàn chỉnh bên trong thư mục của bạn (myfolder / laravel) hơn là thủ công bên trong laravel. Vậy, tại sao bạn thấy lỗi,

Không thể mở tệp đầu vào: nghệ nhân

Giải pháp : Bạn phải vào bên trong bằng dấu nhắc lệnh đến vị trí đó hoặc di chuyển các tệp laravel bên trong thư mục của bạn.


Câu trả lời này không cung cấp thêm thông tin nào cho những câu trả lời khác đã được nêu. Giải pháp này đã được giải thích chi tiết hơn nhiều so với hướng dẫn mơ hồ này.
totymedli

-7

trong laravel, Artian là một tệp dưới trang gốc / được bảo vệ

ví dụ,

c: \ xampp \ htdocs \ my_project \ protected \ nghệ nhân

bạn có thể xem nội dung của tệp "nghệ nhân" bằng bất kỳ trình soạn thảo văn bản nào, đó là cú pháp lệnh php

vì vậy khi chúng ta gõ

nghệ nhân php

chúng tôi yêu cầu php chạy tập lệnh php trong tệp "nghệ nhân"

ví dụ:

thay đổi nghệ nhân php

sẽ hiển thị sự thay đổi của phiên bản laravel hiện tại

để xem tùy chọn khác, chỉ cần nhập

nghệ nhân php


3
Điều này không liên quan gì đến câu hỏi. Không trả lời được lý do tại sao lệnh thủ công không hoạt động, nó chỉ liệt kê một số lệnh thủ công mà bạn thậm chí không thể thử bởi vì, ... lệnh này không hoạt động.
totymedli
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.