Trình soạn thảo có tùy chọn tải một số phụ thuộc chỉ trong khi đang phát triển, vì vậy các công cụ sẽ không được cài đặt trong sản xuất (trên máy chủ trực tiếp). Điều này (về lý thuyết) rất tiện dụng cho các tập lệnh chỉ có ý nghĩa trong phát triển, như kiểm tra, công cụ dữ liệu giả, trình gỡ lỗi, v.v.
Cách để đi là thêm một require-dev
khối bổ sung với các công cụ bạn cần trong dev:
"require-dev": {
"codeception/codeception": "1.6.0.3"
}
và sau đó (về mặt lý thuyết) tải các phụ thuộc này thông qua
composer install --dev
Vấn đề & Câu hỏi:
Trình soạn thảo đã thay đổi hành vi install
và update
đột ngột vào năm 2013, require-dev
-depencies hiện được cài đặt theo mặc định (!), Vui lòng tạo một composer.json với một require-dev
khối và thực hiện composer install
tái tạo.
Như cách được chấp nhận nhất để triển khai là đẩy nhà soạn nhạc. khóa (giữ thiết lập trình soạn thảo hiện tại của bạn) và sau đó thực hiện composer install
trên máy chủ sản xuất, điều này cũng sẽ cài đặt công cụ phát triển.
Cách chính xác để triển khai điều này mà không cần cài đặt các phụ thuộc -dev là gì?
Lưu ý: Tôi đang cố gắng tạo Q / A chính tắc ở đây để làm rõ việc triển khai Trình soạn thảo kỳ lạ. Hãy chỉnh sửa câu hỏi này.
composer.lock
bao giờ nên được thêm vào repo Git, KHÔNG BAO GIỜ. Cách tiếp cận đúng là sử dụng cập nhật của nhà soạn nhạc về dàn dựng và sau đó đồng bộ tệp vào sản xuất (tất nhiên mọi thứ đều hoạt động). Dàn dựng phải là bản sao chính xác của môi trường sản xuất. composer.lock
nên là một phần của .gitignore
.