Custom lại package trong laravel sử dụng composer

Hello mọi người, Đôi khi các bạn muốn custom lại 1 thư viên mã nguồn mở nào đó mà các bạn đang dùng trong project của mình. Đó có thể là 1 bản sữa lỗi, hay 1 bản sửa đổi để phù hợp với dự án. Sau đây mình xin giới thiệu 1 cách để làm việc này.

  • Đầu tiên fork reposity về, như trong ví dụ sau đây mình cần dùng thư viện chatwork-sdk .
  • Tiếp tiến hành chỉnh sửa mà mình mong muốn trên package. Vi dụ mỉnh thêm 1 file test vào trong trong package chatwork-sdk và đẩy lên reposity mình đã fork về ở nhánh add_file_text

file_text

  • Chỉnh sửa file composer.json để trỏ vào repo vừa mới fork về. Đây là file json sau khi cài thêm package wataridori/chatwork-sdk.

composer_json_before

  • Có 2 điểm chú ý ở đây là package chatwork trên vẫn đang được lấy từ repo wataridori/chatwork-sdk chứ không phải là repo mà mình đã fork về, và version nhỏ nhất là 0.3.1. Giờ ta cần làm cho composer trỏ đên repo đã fork về và sẽ cập nhật code ở nhánh mà mình muốn. Để làm vậy ta cần thay đổi composer.json require nhánh mà mình muốn bằng cách thêm tiền tố dev- vào trước và loading package từ VCS repository.

dev-require

  • Chạy composer update để update lại package mà mình muốn. Đây là kết quả:

composer_update

trong thư mục vendor đã có file text của mình

dev-require.

Tham khảo : https://medium.com/swlh/using-your-own-forks-with-composer-699358db05d9

Related article