Điểm:0

Tại sao một số lệnh Drush chỉ chạy từ docroot?

lá cờ us

Tự hỏi liệu có ai biết tại sao một số lệnh Drush (có tham số tệp) chỉ chạy từ docroot và sẽ không chạy từ gốc của dự án/nhà soạn nhạc không?

Các lệnh như drush truy vấn sqlnhập ngôn ngữ drush nằm trong số này.

Ví dụ: với cấu trúc thư mục Drupal tiêu chuẩn:

/ (gốc nhà soạn nhạc)

  • nhà soạn nhạc.json
  • người bán
  • bản dịch
    • bản dịch.fr.po
  • web (docroot)

chạy từ gốc của nhà soạn nhạc:

  • nhà cung cấp/bin/drush locale-import fr translations/translations.fr.po

đưa ra lỗi không tìm thấy tập tin. Ngay cả khi sử dụng ./translations/translations.fr.po đưa ra cùng một lỗi

nhưng đi đến docroot và chạy:

  • ../vendor/bin/drush ../translations/translation.fr.po

hoạt động tốt.

Tập lệnh triển khai của chúng tôi luôn chạy nhà soạn nhạc, thuốc ngủ và các lệnh khác từ thư mục gốc của nhà soạn nhạc. Vì vậy, một chút đau đớn phải cd/web và sau đó đĩa CD .. cho các lệnh Drush "đặc biệt" này. Đoán phải có một cái gì đó tôi đang làm sai.

lá cờ cn
Các lệnh IIRC Drush có xu hướng chạy với gốc web (không phải đường dẫn thực thi) làm thư mục làm việc - `vendor/bin/drush locale-import fr ../translations/translations.fr.po` từ gốc dự án có hoạt động không?
leymannx avatar
lá cờ ne
Nó có thể phụ thuộc vào phiên bản Drush và mẫu composer.json bạn đang sử dụng. Gốc web có được định nghĩa trong composer.json không? Phiên bản nào của Drush?
leymannx avatar
lá cờ ne
Nhưng cuối cùng, tôi nghĩ việc thực thi các lệnh Drush từ bên trong webroot luôn an toàn hơn.
liquidcms avatar
lá cờ us
@Clive, vâng, đó là câu trả lời. Tôi có thể chạy trong thư mục gốc của dự án nhưng Drush vẫn nghĩ mọi thứ như từ docroot. Xuất sắc. Cảm ơn bạn.
liquidcms avatar
lá cờ us
Không chắc chắn làm thế nào để đánh dấu một bình luận là câu trả lời :(
leymannx avatar
lá cờ ne
@liquidcms â Sau đó, bạn có thể thêm và chấp nhận câu trả lời đó làm câu trả lời để giúp người đọc tương lai tìm ra giải pháp một cách nhanh chóng.
Điểm:0
lá cờ us

Nếu bạn sử dụng bí danh drush, việc bạn chạy lệnh từ đâu không quan trọng, ví dụ:

drush @site some-command

Webroot được chỉ định trong bí danh.

Thêm thông tin https://www.drush.org/latest/site-aliases/

liquidcms avatar
lá cờ us
Đó là bí danh của url trang web. Nó sẽ không có bất kỳ tác động nào đối với việc Drush không xử lý chính xác đường dẫn đến tệp đối số.
lá cờ us
@liquidcms Bí danh drush chứa nhiều cài đặt khác nhau bao gồm thư mục webroot được chỉ định trong cài đặt gốc, ví dụ: âroot: /other/path/to/live/drupalâ
Điểm:0
lá cờ us

Clive đã không đăng câu trả lời nên tôi sẽ chỉ sao chép ở đây:

Các lệnh Drush chạy như thể từ thư mục gốc của web (không phải đường dẫn thực thi) dưới dạng thư mục làm việc. Vì vậy, mặc dù chạy lệnh từ thư mục gốc của dự án; đường dẫn đối số phải được nhập như thể đến từ thư mục gốc.

nhà cung cấp/bin/drush ngôn ngữ nhập khẩu fr ../translations/translations.fr.po

  • từ gốc dự án

Câu trả lời của David cũng sẽ hoạt động nếu bạn đang sử dụng bí danh (mà tôi thì không).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.