Tôi muốn gỡ cài đặt (và không xóa khỏi composer.json) các phần phụ thuộc của nhà phát triển trên một dự án.
Có một cách đơn giản để làm điều này ?
Câu trả lời:
Chạy install
hoặc update
với--no-dev
bây giờ sẽ loại bỏ các yêu cầu của nhà phát triển và các phụ thuộc của chúng.
Câu trả lời ban đầu cho các mục đích lịch sử:
Thực ra là không. Tất nhiên, bạn có thể rm -rf chúng theo cách thủ công từ dir của nhà cung cấp, nhưng composer không cung cấp cách nào để gỡ cài đặt các yêu cầu của nhà phát triển sau khi bạn cài đặt với --dev. Đây không phải là một trường hợp sử dụng lớn nhưng có thể đảm bảo một chuyển đổi dòng lệnh mới, nếu bạn muốn báo cáo sự cố trên github.
composer install --no-dev
. Thao tác này sẽ xóa các gói dev còn lại composer.json
và composer.lock
các tệp còn nguyên vẹn.
Bạn có thể sử dụng lệnh sau sau khi loại bỏ các phụ thuộc trong composer.json
tệp.
composer update
Đã đến câu hỏi này khi tìm kiếm câu trả lời tương tự. Giờ đây, bạn có thể gỡ cài đặt các phần phụ thuộc của nhà phát triển đã cài đặt bằng cách chỉ cần thực hiện:
composer --no-dev update
Nó sẽ loại bỏ tất cả các gói dev mà nó tìm thấy. Mặc dù nó sẽ khiến mọi người thích thú khi hạ cánh ở đây giống như cách tôi đã làm :)
composer update
, luôn sử dụng composer install
với một composer.lock
tập tin cam kết . Điều đó đang được nói: bạn cũng có thể sử dụng tùy chọn cho lệnh đó. Vui lòng tham khảo câu trả lời được chấp nhận đã được sửa đổi để bao gồm cả điều này: Seldaek là tác giả của nhà soạn nhạc.
Đây không phải là câu trả lời nghiêm ngặt nhưng có thể giúp ích cho ai đó.
Để loại bỏ phụ thuộc nhà phát triển cụ thể :
composer remove --dev squizlabs/php_codesniffer
Tôi đã trả lời sau nhưng nó có thể giúp ích cho người khác:
composer remove friendsofsymfony/elastica-bundle
(ví dụ)
Sẽ