Tại sao nhà soạn nhạc không cập nhật các tác phẩm của Drupal / drupal?


10

Tôi đã cài đặt một trang web Drupal 8.2.0 với composer create-project drupal/drupal testsite.

Bây giờ tôi muốn nâng cấp nó lên Drupal 8.2.1. Tuy nhiên, chạy composer update drupal/drupal không hoạt động. Nó in lỗi sau:

Gói "drupal / drupal" được liệt kê để cập nhật không được cài đặt. Mặc kệ.

Làm thế nào để tôi làm điều này? Sự hỗ trợ được ghi lại rõ ràng trong example.gitignore.

# Ignore core when managing all of a project's dependencies with Composer
# including Drupal core.
# core

Vì vậy, phải có một số cách để làm điều này với nhà soạn nhạc, nhưng làm thế nào?

Câu trả lời:


5

Chỉnh sửa: điều này có lẽ không hữu ích vấn đề và thử xem tôi có thể tìm ra vấn đề cụ thể mà bạn đang gặp phải không. Lấy làm tiếc.

Tôi gặp vấn đề này khi xử lý một bản cập nhật gần đây và đây là vấn đề của tôi nhưng YMMV vì vậy nếu nó không hoạt động, hãy cho tôi biết.

Đây có thể là một vấn đề trong đó tập tin soạn thảo của bạn được đặt thành danh sách kho lưu trữ cũ trên composer.org. Gần đây, Drupal thiết lập các điểm cuối cho nhà soạn nhạc của riêng họ, một cho Drupal 7 và một cho Drupal 8. Bạn có thể đọc thêm về sự thay đổi đó tại đây: https://www.drupal.org/docs/develop/USE-composer/USE-composer- để cài đặt-drupal-gói-qua-drupalorg

Đây là lệnh cần được chạy để trao đổi kho lưu trữ trên Drupal.org.

$ composer config repositories.0 
$ composer https://packages.drupal.org/8

2
Thông báo lỗi thú vị từ lệnh thứ hai đó: "Không có lệnh nào được xác định trong không gian tên" https "." Bây giờ tôi thực sự đã mất.
Mojo

4

Nghĩ rằng tôi đã giải quyết nó. Tôi hình dung rằng tôi sẽ cần một tệp composer.json gốc khác đã kéo gói drupal thay vì thay thế nó, nhưng tôi không biết làm thế nào để làm như vậy.

May mắn thay, ai đó đã thực hiện điều này và đóng gói lại Drupal theo cách thân thiện với nhà soạn nhạc: https://github.com/drupal-composer/drupal-project (Không có phiên bản ổn định nào, rõ ràng.)

Bằng cách sử dụng composer create-project drupal-composer/drupal-project:8.x-dev --stability dev drupal-dirtôi đã có thể có được một bản cài đặt có thể được cập nhật với nhà soạn nhạc.


2
Lệnh composer create-projectsử dụng dự án được yêu cầu làm mẫu cho dự án mới, vì vậy trong lần thử đầu tiên, git.drupal.org/project/drupal.git đã được sử dụng làm mẫu cho dự án mới của bạn. Thay vào đó, sử dụng github.com/drupal-composer/drupal-project làm mẫu, khiến Drupal trở thành một phần của dự án. Trong thực tế, thay vì sử dụng drupal/drupal, nó sử dụng drupal/core(cho thư mục lõi) và drupal-composer/drupal-scaffoldcho các tệp quan trọng khác như index.php và .htaccess.
David Lanier

3

Lệnh composer create-projectnhân bản gói được yêu cầu, trong trường hợp này là https://git.drupal.org/project/drupal.git . Khi kết thúc quá trình tạo dự án, bạn sẽ được nhắc xem bạn có muốn xóa lịch sử VCS hiện tại hay không. Nếu bạn trả lời n, bạn sẽ có cách cập nhật từ kho lưu trữ drupal ngược dòng. Điều hướng vào trang web thử nghiệm và sử dụng git để tìm nạp và kiểm tra phiên bản Drupal bạn muốn. Sau đó chạy composer installđể có được các phụ thuộc được xác định trong composer.json và composer.lock của phiên bản cập nhật của Drupal.


3

Trên dòng lệnh, chúng tôi phải yêu cầu lõi drupal (thay thế bằng phiên bản của bạn):

composer require drupal/core:8.6.3 --update-with-dependencies

Trong tệp composer.json được thay thế, chúng tôi đã phải xóa "drupal / core": "^ 8.6" để thay thế trông như sau:

"replace": {

},

trong tập tin composer.json của chúng tôi bây giờ. Chúng tôi sau đó chạy:

composer update

và drupal cập nhật lên phiên bản mới nhất.

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.