Làm cách nào để cài đặt phiên bản cụ thể của gói bằng Trình soạn thảo?


Câu trả lời:



110

Thêm dấu ngoặc kép để sử dụng toán tử dấu mũ trong số phiên bản.

composer require middlewares/whoops "^0.4"

3
Tôi không thấy thời điểm mà bạn có thể chuyển tên góiphiên bản thành hai đối số riêng biệt.
x-yuri

1
@ x-yuri chuyển tên gói và phiên bản dưới dạng đối số riêng biệt hoạt động với tôi bằng cách sử dụng trình soạn thảo 1.5.1
bryonbean

Mặc dù về mặt kỹ thuật, đây không phải là câu trả lời "chính xác" cho câu hỏi của OP, nhưng điều này có lẽ hữu ích hơn cho hầu hết mọi người.
Tòa án giàu

19

chỉ cần sử dụng trình soạn thảo php.

Ví dụ :

php composer.phar require doctrine/mongodb-odm-bundle 3.0

Cũng có sẵn với cài đặt.

https://getcomposer.org/doc/03-cli.md#require https://getcomposer.org/doc/03-cli.md#install


Đối với bản ghi, việc thêm các ràng buộc tùy chỉnh không khả dụng với install- chỉ với require. Nếu bạn đang hy vọng chuyển sang một phiên bản cụ thể và đăng ký composer.locktệp của mình , bạn có thể, nhưng bạn phải sử dụng composer requirevà sau đó hoàn nguyên thay đổi thành composer.jsonsau đó.
mindplay.dk

Phiên bản như một đối số riêng biệt? Điều đó đã bao giờ có sẵn?
x-yuri

9

Như @alucic đã đề cập, sử dụng:

composer require vendor/package:version

hoặc bạn có thể sử dụng:

composer update vendor/package:version

Có lẽ bạn nên xem lại bài đăng StackOverflow này về sự khác biệt giữa cài đặt của nhà soạn nhạc và cập nhật nhà soạn nhạc .

Liên quan đến câu hỏi về số phiên bản, bạn có thể xem lại tài liệu của Nhà soạn nhạc trên các phiên bản , nhưng ở đây ngắn gọn:

  • Phạm vi Phiên bản Tilde ( ~ ) - ~ 1.2.3 tương đương với> = 1.2.3 < 1.3.0
  • Phạm vi phiên bản Caret ( ^ ) - ^ 1.2.3 tương đương với> = 1.2.3 < 2.0.0

Vì vậy, với Tilde, bạn sẽ nhận được các bản cập nhật tự động của các bản vá nhưng các phiên bản nhỏ và chính sẽ không được cập nhật. Tuy nhiên, nếu bạn sử dụng Caret, bạn sẽ nhận được các bản vá và phiên bản nhỏ, nhưng bạn sẽ không nhận được các phiên bản chính (phá vỡ thay đổi).

Phiên bản Tilde được coi là phương pháp "an toàn hơn", nhưng nếu bạn đang sử dụng các phụ thuộc đáng tin cậy (thư viện được bảo trì tốt), bạn không nên có bất kỳ vấn đề nào với Phiên bản Caret (vì các thay đổi nhỏ sẽ không phá vỡ các thay đổi.


5

Giả sử bạn muốn cài đặt Laravel Collective. Hiện tại nó đang ở phiên bản 6.x nhưng bạn muốn phiên bản 5.8. Bạn có thể chạy lệnh sau:

composer require "laravelcollective/html":"^5.8.0"

Một ví dụ điển hình được hiển thị ở đây trong tài liệu: https://laravelcollective.com/docs/5.5/html


0

Trong của bạn composer.json, bạn có thể đặt:

{
    "require": {
        "vendor/package": "version"
    }
}

sau đó chạy composer installhoặc composer updatetừ thư mục chứa composer.json. Đôi khi, đối với tôi, nhà soạn nhạc rất đáng ghét, vì vậy tôi sẽ bắt đầu composer clear-cache; rm -rf vendor; rm composer.locktrước composer installđể chắc chắn rằng đó là những thứ mới mẻ.


Tất nhiên, như các câu trả lời khác chỉ ra, bạn có thể chạy các mục sau từ thiết bị đầu cuối:

composer require vendor/package:version

Và về phiên bản:
- Bài viết phiên bản chính thức của Nhà soạn nhạc
- Tìm kiếm Ecosia

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.