Có cách nào để Drush tải xuống tất cả các phụ thuộc cần thiết cho một mô-đun cụ thể không?


20

Ví dụ: nếu bạn thực hiện các lệnh sau:

drush dl views
drush en views views_ui views_export

Bạn sẽ gặp lỗi sau khi thử kích hoạt các mô-đun khung nhìn:

Chế độ xem mô-đun không thể được bật vì phụ thuộc vào các mô-đun sau không thể tìm thấy: ctools

Có cách nào để có được drush để tải xuống các phụ thuộc mô-đun cần thiết?


Thực sự Drupal chỉ nên tích hợp nhà soạn nhạc. Quản lý phụ thuộc sẽ được xử lý độc đáo sau đó.
David

Các phiên bản mới hơn của Drush với drush en -ysẽ tự động tải xuống và kích hoạt các phụ thuộc.
tyler.frankenstein

Câu trả lời:


18

Drush 5 trở lên:

Các phiên bản mới hơn của Drush (phiên bản 5 trở lên) sẽ hỏi bạn nếu bạn muốn tải xuống các phụ thuộc cần thiết khi bạn bật ( drush en) một mô-đun. Nó cũng sẽ hỏi bạn có muốn tải xuống mô-đun không nếu bạn chưa tải xuống. Kết hợp với tùy chọn "-y" (ví dụ drush en views -y), mọi thứ sẽ được tải xuống và kích hoạt tự động mà không cần hỏi thêm.

Lưu ý rằng việc tải xuống phụ thuộc tự động có thể thất bại nếu tên của mô-đun được yêu cầu không giống với tên dự án của nó trên drupal.org. Để biết thêm thông tin, hãy xem câu trả lời ban đầu của tôi cho Drush 4 bên dưới.

Câu trả lời gốc (Drush 4):

Không, không có cách nào để làm điều đó. Vấn đề là có một sự khác biệt giữa một mô-đun và một dự án. Thông thường (nhưng không phải luôn luôn) tên của dự án giống hệt với mô-đun (hoặc một trong các mô-đun) có trong dự án. Một dự án duy nhất (ví dụ: Lượt xem) có thể chứa nhiều mô-đun (lượt xem, lượt xem_ui, lượt xem_export). Trong khi drush dltải xuống một dự án , drush enkích hoạt một mô-đun .

Khi một mô-đun tuyên bố các phụ thuộc, nó tuyên bố các phụ thuộc vào các mô-đun, không phải các dự án. Khi thực hiện a drush en, Drush có thể kiểm tra xem mô-đun cần thiết có sẵn không. Tuy nhiên, nếu nó không có sẵn, Drush không có cách nào để biết nên tải dự án nào. Để Drush có thể tự động tải xuống các dự án cần thiết, công việc cần phải được thực hiện trong cơ sở hạ tầng dự án / mô-đun cơ bản, để Drush có thể truy xuất bản đồ của các dự án và mô-đun. Xem thêm Xử lý thông minh hơn các phụ thuộc bị thiếu .


9

Trên thực tế, drush5 (vẫn đang trong quá trình phát triển) có một bản đồ về các phụ thuộc phổ biến đã biết (content.module, ctools, ...). Vì vậy, nó thực sự tải ctools cho bạn trong ví dụ của bạn.


6

đây không còn là vấn đề nữa vì các phiên bản mới nhất của drush thực hiện điều này "tự động":

The following projects have unmet dependencies:[ok]
answers requires strongarm, references, nodereference_url, nodereference_count, eva
Would you like to download them? (y/n):

2

Một số mô-đun hoặc dự án bao gồm một tập lệnh tạo drush , có thể tải xuống các phụ thuộc và cài đặt các thư viện bên ngoài.

Tuy nhiên Điều này chủ yếu không phải là trường hợp, và có vấn đề với việc lồng vào nhau của kịch bản. Nó vẫn đáng để tìm kiếm với một số mô-đun phức tạp hơn để thiết lập.


1
Tôi nghĩ bạn có nghĩa là 'Drush make' ( drupal.org/project/drush_make ) chứ không phải 'Drush build'. Nhưng bạn đã đúng, bởi vì một tập tin drush tạo danh sách các dự án cần thiết cho việc xây dựng, nó có thể tải xuống các phụ thuộc.
marcvangend

2

Hãy thử mô-đun cập nhật nhanh . Nó sẽ tải về tất cả các dự án phụ thuộc còn thiếu cho bạn.

Đây là một trích dẫn về nó (từ trang dự án của mô-đun):

... Cung cấp một cách nhanh chóng để cài đặt hàng loạt nhiều dự án mới hoặc tất cả các dự án phụ thuộc còn thiếu.

Lõi Drupal cung cấp một cách để cài đặt từng mô-đun hoặc chủ đề, nhưng bạn có thể cài đặt nhiều dự án thông qua mô-đun cập nhật nhanh. Có một UI quản trị để tìm kiếm các dự án được cài đặt dễ dàng hơn.

Bổ sung, mô-đun cập nhật nhanh tìm thấy tất cả các dự án phụ thuộc bị thiếu cho bạn, sau đó bạn chỉ cần chọn tất cả chúng từ UI quản trị viên và cài đặt chúng trong một quy trình hàng loạt.

Mô-đun cập nhật nhanh phụ thuộc vào mô-đun Cập nhật và sử dụng quy trình làm việc tương tự như mô-đun Cập nhật. Do đó, bạn có thể chạy các bản cập nhật thông qua trang cập nhật quản trị viên tại / admin / báo cáo / cập nhật / cập 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.