當使用composer獲取依賴關係時,會下載大量不必要的文件,例如文檔,測試單元等。這些使得構建的文件變大。如何只包含來自作曲家文件夾的生產文件?如何在創建dist軟件包時保留必需的文件
0
A
回答
0
不幸的是,最包開發者不利用.gitattributes
文件和使用或不使用--prefer-dist
是他們相同。我想出了以下的g task任務:https://gist.github.com/salarmehr/b62703afb6617f4cacac
-1
這並不像看起來第一眼那麼容易。
作曲家本身並不是擺弄項目發佈的代碼的正確地方。所以下一站是.gitattributes
。
Symfony的嘗試做到這一點,他們的經驗使他們revert this decision。作曲家有關於在文檔中使用.gitattributes
的信息,但有removed it。
從本質上講,從不同分佈路徑中移除某個軟件包的某些部分可能會導致比解決問題更多的問題。從我的角度看,CLI切換--prefer-dist
和--prefer-source
或者是有克隆一個巨大的資源庫是需要年齡或下載與確切版本的ZIP的選擇 - 但結果應該是平等的,也就是我不應該被迫--prefer-source
爲ALL我的依賴只是因爲一個決定「優化部署」的包決定從ZIP中刪除文檔和測試。
是,在開發過程中我經常看他們的代碼和測試,以幫助我明白髮生了什麼 - 或者是什麼應該去,而不是。
結論:作曲家不是一個部署工具。如果你關心你的應用程序的大小,那麼你的任務就是去除你不需要或者想要的所有東西,並且可能優化其他東西(縮小JS和CSS,優化圖像等)。它不應該是Composers或任何軟件包維護者任務來爲你做這個優化。
相關問題
- 1. 如何在安裝MSDeploy軟件包時保留現有文件?
- 2. 創建僅包含所需軟件包的RPM軟件包
- 3. 如何爲dist文件創建目錄?
- 4. 如何從現有的軟件包創建npm軟件包?
- 5. 如何保護iOS軟件包文件
- 6. 在安裝時安裝軟件包所需的R軟件包
- 7. 如何爲ClearQuest創建軟件包?
- 8. 如何創建安裝軟件包?
- 9. 上傳文件時保留文件創建日期
- 10. 如何禁止在dist-upgrade期間刪除某些軟件包?
- 11. 如何自動安裝所有必需的軟件包?
- 12. 如何創建廢棄32位軟件包的64位rpm軟件包?
- 13. 如何在創建jar文件時包含庫文件
- 14. 未在項目文件夾中創建Webpack dist文件夾?
- 15. Pyinstaller不會在dist文件夾中創建一個.exe文件
- 16. 如何處理構建「dist」文件夾
- 17. 軟件包名稱所需的建議
- 18. 如何在src文件夾中創建新的軟件包? (Android Studio)
- 19. 如何使用Git僅在主分支中保留dist /文件夾
- 20. 在CentOS上創建Debian軟件包
- 21. Kivy - 在Windows上創建軟件包
- 22. 創建Debian軟件包在Ubuntu
- 23. 缺少必需的軟件包? - 包括libyaml
- 24. 使用Python的tarfile創建tarball時保留文件權限
- 25. 如何在保存文件時在文件系統上創建文件夾
- 26. 如何在Apache Flume中傳輸文件時保留文件名?
- 27. 如何複製樹文件夾,但只保留每個文件夾名爲「dist」的文件夾?
- 28. 執行時不會創建dist文件夾的咕嚕任務
- 29. 在Shiny應用程序中安裝必需的軟件包
- 30. 如何使用我在JavaScript中創建的軟件包?
@PaulCrovella感謝您的鏈接。 – PHPst