2015-01-04 27 views
11

Tôi muốn biết sự khác biệt khi tạo dự án symfony mới với trình cài đặt symfony mới xuất hiện lần cuối và trình soạn nhạc cũ.Trình cài đặt symfony mới nhất vs nhà soạn nhạc

Tôi đã cài đặt phiên bản mới nhất của symfony (2.6.1) với cả hai, và kết quả là khác nhau, ví dụ khi tôi cài đặt symfony với composer, tôi nhận tệp .gitignore. Khi tôi cài đặt với tập lệnh cài đặt symfony mới, gitignore bị thiếu.

Đây là số lượng catalog và các tập tin trong dự án mới:

symfony installer:      1498 directories, 7136 files 
symfony installer + composer update: 1571 directories, 7749 files 
composer create-project:    1615 directories, 7905 files 

Tôi cho rằng tôi sẽ dính vào con đường cũ - nhà soạn nhạc, kể từ khi cài đặt mới dường như được nghe trộm hoặc ít nhất là không hoàn thành được nêu, tuy nhiên tôi muốn tìm hiểu thêm về chủ đề này, sự khác biệt là gì, có an toàn khi sử dụng trình cài đặt mới không?

Trả lời

10

Như Leggendario đã giải thích, trình cài đặt tải xuống tệp dist từ trang web (tệp .tar.gz hoặc .zip). Điều này tăng tốc quá trình cài đặt khá nhiều.

Tuy nhiên, khi xây dựng tệp dist, symfony.com sử dụng tập lệnh tạo tùy chỉnh để xóa một số tệp và thay đổi một số thứ. Mặt khác, nhà soạn nhạc chỉ cần tải xuống kho lưu trữ cho bạn.

Sự khác biệt chính:

  • Composer tải phụ thuộc mới nhất (như Leggendario chỉ ra), trong khi xây dựng kịch bản chứa các tập tin mới nhất tại thời điểm xây dựng.
  • Nhà soạn nhạc sử dụng phiên bản dev và do đó sử dụng git clone để tải xuống gói. Script xây dựng chỉ sử dụng các gói ổn định, điều này sẽ làm cho Composer sử dụng phiên bản dist. Một số gói loại bỏ các tập tin thử nghiệm và doc từ tập tin dist của họ.
  • Nhà soạn nhạc chứa tất cả thông tin liên quan đến dự án, như là .gitignore. Các kịch bản xây dựng trước đó giả định người cài đặt nó không có git, do đó, loại bỏ tập tin này và các tập tin liên quan git khác như các tập tin .gitkeep trong app/cacheapp/logs.

Tôi bất kỳ trường hợp nào, cả trình cài đặt và trình soạn luôn luôn cung cấp cho bạn phiên bản làm việc của Symfony Standard Edition.

Cuối cùng, tập lệnh xây dựng là changed bây giờ trình cài đặt đã trở thành cách cài đặt chính thức. Nó bây giờ sẽ chứa các tập tin liên quan đến git. Mặt khác, nó sẽ không chứa tệp LICENSE, UPGRADE-*.md tệp và README.md tệp. Vì vậy, cuối cùng, chúng ta có thể nói rằng trình cài đặt được cài đặt dễ sử dụng hơn, vì nó loại bỏ các tệp vô ích.

+0

Xin cảm ơn, lời giải thích tuyệt vời. Tôi đã tải xuống trình cài đặt từ trang web của symfony vì vậy tôi cho rằng nó đã lỗi thời ở đó và tôi chỉ cần cập nhật nó với phiên bản github mới nhất để nó tạo cho tôi dự án sẵn sàng làm việc với git? Mặt khác, tôi muốn ở lại với apache vì vậy nếu tôi quyết định sử dụng trình cài đặt, tôi sẽ cần phải lo lắng về của riêng tôi về việc tìm kiếm các tập tin cơ bản .htaccess? Xấu hổ không thể định cấu hình thông số cài đặt thông qua trình cài đặt. – Fisher

1

Bạn có cập nhật cài đặt cũng như với:

symfony self-update 

hoặc trong các cửa sổ:

php symfony.phar self-update 

Như đã nêu here?

Đó có lẽ là một phần của câu trả lời. Trong số các khác biệt, trình cài đặt có vẻ tốt hơn với các phiên bản khác nhau của symfony.

3

Symfony2 Installer sẽ tải xuống từ trang web (trong trường hợp này là: http://symfony.com/download?v=Symfony_Standard_Vendors_2.6.1.zip).

Để thấy sự khác biệt giữa symfony installer và cổ điển composer create-project là đủ để có một cái nhìn ở cả hai composer.lock: https://www.diffchecker.com/oig86oki

Trên rời composer.lock tạo ra sau khi composer create-project, bên phải symfony installer. Rõ ràng đối với tất cả mọi người mà Symfony2 tải xuống từ một kho lưu trữ không thể có các gói mới nhất. Vì vậy, hãy cập nhật với composer update.

Một lần nữa, ở bên trái các composer.lock của composer create-project, trên bên phải mới composer.lock sau khi cập nhật: https://www.diffchecker.com/lj5j2eap

Như chúng ta mong đợi. Nhưng trong thư mục của nhà cung cấp thì không có cùng số lượng tệp. Một số thư mục không có ở đó. Một số thư mục có chức năng kiểm tra không được tải xuống với symfony installer. Bạn cần ép buộc nhà soạn nhạc cập nhật tất cả các gói hoặc cài đặt lại chúng.

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