我有一堆紅寶石腳本文件夾被添加到$PATH
,我認爲其中一些可能會對其他人有用。所以我想分發它們和我知道的唯一'好'方法是rubygems(gem僅包含二進制文件),它具有版本控制的非常有用的優點,但也是初始化時間的缺點(有時在腳本啓動之前需要幾秒鐘跑)。有替代品嗎?簡單的方法來分發紅寶石腳本
回答
寶石已經足夠了。我使用gem來達到這個目的,因爲安裝和更新非常方便。
寶石是爲此而建造的。我不確定你認爲gem是什麼,但RubyGems是一個類似於PEAR for PHP,aptitude for ubuntu或CPAN for perl的存儲庫,除了它們包含ruby庫之外。
沒有額外的開銷或「初始化時間」通過使寶石庫添加到您的紅寶石庫。 RubyGems只是簡單地安裝你的庫 - 它什麼都不做。
有開銷 - 需要rubygems並搜索包含腳本的寶石 – tig 2010-11-05 19:05:32
@tig你有沒有基準測試以確定它是否是一個實際問題?時間幾乎可以忽略不計。如果它真的是,你可以簡單地跳過rubygems並手動要求文件。通過這種方式,您可以輕鬆地使用RG進行分發,但是您沒有路徑搜索的開銷。 – ryeguy 2010-11-05 19:11:07
我沒有對它進行基準測試,但注意到它的存在(這就是爲什麼我知道rubygems bin的工作原理:),開銷不是時間常數,首次運行很慢,進一步運行速度很快)。跳過rubygems意味着什麼?我想分發像'rake'或'rails'這樣的可執行腳本。 – tig 2010-11-05 19:23:09
寶石很適合這種Ruby腳本。
要快速生成新寶石,請嘗試bundle gem
。
要在不使用rubygems.org的情況下快速分發寶石,並且可以用於私人部署,請查看microgems的想法。
如果你仍然認爲你不需要用寶石包裝這些,你可以簡單地將可執行位添加到你的腳本中,爲ruby添加shebang行,並刪除.rb
擴展名。然後與任何想要他們的人分享您的腳本文件。
- 1. 簡單的拼寫檢查方法/寶石紅寶石?
- 2. 紅寶石分配方法
- 3. 簡單的方法來確定紅寶石閏年?
- 4. 簡單的方法來理解從紅寶石塊返回
- 5. 紅寶石NATS簡單的發佈
- 6. '部署'寶石紅寶石腳本
- 7. 寶石cmd從紅寶石腳本
- 8. 紅寶石簡單替換
- 9. 簡單解析紅寶石
- 10. 紅寶石``**方法
- 11. 紅寶石:方法
- 12. VBscript相當於一個簡單的紅寶石腳本
- 13. Shell腳本>紅寶石
- 14. bash腳本紅寶石
- 15. 紅寶石腳本錯誤
- 16. 簡單的正則表達式來拼接文本紅寶石
- 17. 獨立紅寶石腳本中的紅寶石
- 18. 紅寶石枚舉「單」的方法
- 19. 將紅寶石從紅寶石傳遞給bash腳本?
- 20. 簡單的紅寶石,除非方法錯誤,ROR
- 21. 紅寶石在100分鐘,good_morning方法
- 22. 紅寶石發送方法調用塊
- 23. 簡單的方法來反轉數組元素的極性紅寶石
- 24. 簡單的紅寶石對象順序
- 25. 簡單的紅寶石程序
- 26. 非常簡單的DSL在紅寶石
- 27. 簡單的紅寶石平均程序
- 28. 紅寶石簡單的類問題
- 29. 紅寶石簡單的方法列出接下來N個數字
- 30. 紅寶石方法參數
你是什麼意思的「初始化時間」? – Jeremy 2010-11-05 18:59:50
@Jeremy:運行'cat $(其中rake)' - 在執行腳本之前,rubygems被初始化並找到包含二進制文件的gem。 – tig 2010-11-05 19:03:23