2014-04-08 16 views
13

Tôi không hiểu cách hoạt động của công cụ soạn nhạc create-project. Cho phép lấy Laravel làm ví dụ.Sự khác biệt giữa yêu cầu và cài đặt so với dự án tạo trong nhà soạn nhạc

Tôi có thể cài đặt framework PHP này với lệnh sau đây:

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

Lệnh này sẽ cài đặt một khuôn khổ cho tôi để lại tôi với một vài thư mục trong thư mục gốc của thư mục của tôi:

  • ứng dụng
  • bootstrap
  • công khai
  • nhà cung cấp

Thêm một số tệp.

Nhưng khi tôi chỉ đơn giản là sử dụng lệnh soạn nhạc sau:

composer require laravel/laravel --prefer-dist 
composer install 

Sau đó, điều này chỉ cài đặt các thư mục vendor. Không có tệp và thư mục nào khác được tải xuống bởi nhà soạn nhạc.

Bằng cách nào? Điều gì khác biệt? Làm thế nào để nhà soạn nhạc biết được các tệp khác sẽ nhận được gì khi tôi sử dụng lệnh create-project laravel/laravel và tại sao tôi chỉ nhận được thư mục vendor khi tôi làm require laravel/laravel?

Trả lời

8

require sẽ thêm phụ thuộc vào tệp composer.json và tải tệp đó vào thư mục vendor như bạn đã nhận thấy chính xác.

create-project mặt khác sẽ bản sao phụ thuộc, ví dụ: sử dụng phụ thuộc như một mẫu cho một dự án mới. Hãy xem kho lưu trữ phía sau laravel/laravel: https://github.com/laravel/laravel

+2

Cảm ơn. Tôi đã không nhìn thấy điều này trước đây, nhưng bây giờ tôi đã hiểu. Trình repo 'laravel/laravel' yêu cầu' laravel/framework' để trả về tất cả các phụ thuộc 'Illuminate' của nó. Những phụ thuộc 'Illuminate' đó yêu cầu tất cả các libs của bên thứ 3 khác. Vì vậy, đó là cách cuối cùng nó được xây dựng thông qua nhà soạn nhạc (trong trường hợp ai đó đã quan tâm đến điều này). – Vivendi

Các vấn đề liên quan