2017-09-22 235 views
1

如何安裝開發依賴關係的作曲軟件包?作曲家安裝軟件包與開發依賴關係

因此,例如:

當我有這個包:

https://github.com/spatie/laravel-demo-mode

我跑:

composer require spatie/laravel-demo-mode 

測試文件夾沒有安裝?

+0

你發佈了配置文件嗎?並且你把Route :: demoAccess('/ demo');在你的路線文件? – connormcwood

+0

是的,但這與我的問題無關。我想貢獻,但是當我運行'composer require spatie/laravel-demo-mode'時,測試文件夾不在那裏。 – Jenssen

+0

當你運行composer時,你從composer服務器獲取文件,而不是從github – mimo

回答

2

總之,你不(永遠)。如果你想貢獻,你需要設置新的Laravel項目,並設置作曲者從你的磁盤上的某個地方自動加載你的包的版本 ,或者從 自動加載。當你這樣做時,你只是使用你的軟件包版本(同樣不能運行軟件包的測試)。

爲了運行您需要更改目錄到包的根,並安裝它的依賴($ composer install),你做了之後,你可能會遇到$ phpunit包的測試。


什麼我通常做時,我想貢獻是:

  • 有空Laravel項目準備(未版本控制)
  • 有根packages文件夾中packages文件夾
  • 我通常做$ git clone <repo fork>(它可能一次超過一個包)
  • 萬一我想運行包的測試我做$ composer install$ phpunit(您的IDE可以在你吱關於重複定義,但你可能會忽略它)
  • 改進和測試包的代碼在包文件夾Laravel項目
  • 測試更改「活」右走

composer.json可能看起來像:

... 
"autoload": { 
    "classmap": [ 
     "database/seeds", 
     "database/factories" 
    ], 
    "psr-4": { 
     "App\\": "app/", 
     "Vendor\\Package\\": "packages/path-to-src/" 
    } 
}, 
... 

您可能會發現有用我用https://github.com/Kyslik/column-sortable-example演示瞭如何用包裝我麥工作這個例子回購ntain。主要看看文件夾結構composer.json。

關於如何做貢獻可能有更好的方法,但我只找到(和開發)這一個。


如果我有小的變化記(如錯字,或者只是返回類型或什麼是「小」)我做供應商的文件夾內的變化包,看看它打破任何東西;之後,我將包源代碼分發並在Github的Web界面中編輯更改權限。清理只需從Laravel項目的根文件夾運行$ composer install/update

+0

感謝真正的幫助! – Jenssen

+0

@Jenssen我編輯了我的答案(底部),如果你做了微小的改變,對你來說可能更好。 – Kyslik

相關問題