在我涉及Elixir的項目中,我經常有些東西想添加到我的mix.exs
文件中,例如添加我自己的ENV
等等。添加這些項目通常很痛苦,並且必須將它們添加到我的.gitignore
。我的問題是,是否有可能有類似custom_mix.exs
,我可以從mix
撥打電話,我可以放入所有自定義設置,這些設置將覆蓋在mix.exs
中定義的設置? custom_mix.exs
文件不會被置於git下,並且可以永久置於.gitignore
之下,如果沒有找到custom_mix.exs
,則mix.exs
不會出錯。是否有可能爲Elixir定製混合文件?
回答
是的,很容易做到。以下添加到您的mix.exs的最頂端文件
if File.exists?("./custom_mix.exs"), do: Code.require_file("./custom_mix.exs", __DIR__)
defmodule MyApp.Mixfile do
# ...
if function_exported?(CustomMix, :some_stuff, 0),
do: CustomMix.some_stuff()
end
然後創建custom_mix.exs文件是這樣的:
defmodule CustomMix do
def some_stuff do
#
end
end
雖然由史蒂夫Pallen答案是完全正確的,你正在做的它首先是錯誤的。這絕對看起來像一個X/Y problem。
爲什麼要把設置爲在mix.exs
文件中,而你有config/config.exs
這個特殊用途? config.exs
內置支持您開箱即用的內容,查看如何phoenix-framework爲不同的環境做了不同的配置。
mix.exs
文件旨在指定一般應用程序行爲,您目前試圖實現的目標是使應用程序行爲未確定。
可能出現的問題,你可以嘗試解決這種方式,我能想到的,是依賴於應用程序的版本或做外部mix.exs
代碼修修補補。儘管如此,解決和對抗核心靈丹妙藥項目文件的方法是一個壞主意。你可以爲原始的mix.exs
文件創建一個包裝器,從你的版本中調用它的函數,並迫使Elixir使用你的版本和一些shell包裝器或類似的東西。
是否有可能實現一個獨立的需求集合,比如項目的依賴項,但我只想讓他們爲我自己的配置聲明':lowks' - >'{:bypass,「〜> 0.6」,只:[:lowks,:test,:wercker]}'? –
一切皆有可能。現在我確信這是一個X/Y問題。如果依賴關係是_a dependency_,那麼不能爲用戶拋出它。如果是你的,私人的等等,那麼是的('only:'選項是指定_environments_)。歡迎你,執行上述操作並運行'MIX_ENV = lowks iex -S mix'。 – mudasobwa
同意@mudasobwa我還是不明白你爲什麼要這樣做。我在mix.exs中做過的唯一事情是,如果在處理依賴關係時切換本地路徑和十六進制/ github之間的依賴關係。然後,我只是在發佈兩條deps行時發表評論,並刪除本地路徑版本。 –
- 1. 是否有可能混合反應jsx與非jsx組件?
- 2. 是否有可能在sass中有一個混合變換混合?
- 3. 混合(elixir)沒有這樣的文件或目錄
- 4. R調試:「只有0可能與否定下標混合」
- 5. WPF Datagrid,是否有可能混合組和純(非分組)行?
- 6. 是否有可能實現MAX(As,Ad)openGL混合?
- 7. 是否有可能爲特定網站路徑定製錯誤?
- 8. 是否有可能將.exe文件轉換爲java文件
- 9. 混合二進制文件的字節序是否存在性能原理?
- 10. 是否有可能在Polymer中跨Web組件(和導入)共享混合?
- 11. SQL NOSQL混合可能與否?
- 12. 是否有可能將.css文件中定義的類擴展爲.scss文件?
- 13. 是否有可能組文件和目錄組結合?
- 14. 是否有可能從一個文件
- 15. 是否有可能在清單文件
- 16. Typo3:是否有可能爲擴展製作自定義柔性?
- 17. 是否有可能爲MFMailComposeViewController定製視圖?
- 18. Elixir是否有打字稿?
- 19. 是否有可能爲devDependencies具有單獨的node_modules文件夾?
- 20. Laravel Elixir Gulp混合兩個單獨的較少文件
- 21. 是否有可能使軟件包成爲.so或.a文件?
- 22. 是否有可能解決合併衝突之後,特定的文件rebasease
- 23. 是否可以將Unity與UIKit混合?
- 24. 是否可以將OpenFL與NME混合?
- 25. 是否可以顯示混合地圖?
- 26. 混合Erlang/Elixir項目 - 我可以使用混合或螺紋鋼?
- 27. 是否有可能強制cvs提交未更改的文件?
- 28. 是否有可能通過Post方法複製文件PHP
- 29. 是否有可能在日冕中製作zip文件?
如果找不到'custom_mix.exs',這會不會導致'mix'炸出來? –
更新了我的答案 –