Có cách nào để gỡ cài đặt các phần phụ thuộc của nhà phát triển với trình soạn nhạc không?


75

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:


77

Chạy installhoặc updatevớ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.


10
Hành vi này hiện đã thay đổi. Bạn chỉ cần thêm switch --dev để cập nhật sáng tác để cơ thể loại bỏ các gói dev
Matt Humphrey

8
Chỉ cần rõ ràng, lệnh là composer install --no-dev. Thao tác này sẽ xóa các gói dev còn lại composer.jsoncomposer.lockcác tệp còn nguyên vẹn.
meridius

45

Bạn có thể sử dụng lệnh sau sau khi loại bỏ các phụ thuộc trong composer.jsontệp.

composer update

2
Chú ý vì có thể gây ra điều đó tất cả những gì trong "đòi hỏi" được gỡ cài đặt và gỡ bỏ
agapitocandemor

25

Đã đế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 :)


Không phải là tùy chọn dòng lệnh trực quan nhất..nhưng nó ở đó! Cảm ơn!
ljrh

Sẽ không phải là một ý kiến ​​hay nếu bạn không sửa chữa mạnh các phiên bản của các gói khác vì không chỉ loại bỏ chương trình phát triển mà còn có thể cập nhật các phiên bản hiện tại của các gói khác. Không phù hợp để sử dụng sản xuất.
crazyto

Chắc chắn, nhưng điều đó hoàn toàn không liên quan đến câu hỏi ban đầu. Bên cạnh đó, trong sản xuất, bạn KHÔNG BAO GIỜ nên sử dụng composer update, luôn sử dụng composer installvới một composer.locktậ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.
Bão tuyết

7

Đâ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

2

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ẽ

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.