我正在寫寶石,而安裝寶石時,我也想要執行一個腳本,它位於寶石中。如何在創建gem時執行腳本?
1
A
回答
1
RubyGems本身不會讓你這樣做,可能出於安全原因。 The most you can do is print a message to the user:
Gem::Specification.new 'your_gem' do |specification|
# ...
specification.post_install_message = 'Thanks for installing!'
end
什麼你可以做的是包括一個安裝腳本與你的寶石,並要求用戶運行它。使用安裝後消息讓他知道他必須運行該腳本。
3
當安裝了gem時,你不應該能夠運行任意腳本,但是你可以用它來解決這個問題。 RubyGems允許你使用extconf.rb爲你的gem構建擴展,並且可以誘騙它以這種方式運行你的腳本。這裏有一個指南:http://blog.costan.us/2008/11/post-install-post-update-scripts-for.html。
有關運行腳本作爲安裝gem的一部分的原因的討論未包含在RubyGems中並且不鼓勵,請按照下面的請求註釋:https://github.com/rubygems/rubygems/pull/213。
相關問題
- 1. 如何創建繼續在PHP腳本執行不執行限
- 2. 如何在腳本運行時創建並執行函數/方法?
- 3. 如何在腳本運行時啓用執行腳本?
- 4. 如何在Ubuntu中爲shell腳本創建可執行文件?
- 5. 如何創建在網站上執行操作的腳本?
- 6. 使用PHP創建可執行腳本
- 7. 無法創建AVD執行appium腳本
- 8. 在創建文件時執行bash腳本
- 9. 如何通過Powershell執行SQL Oracle腳本(創建表)
- 10. 如何創建可執行的命令提示符腳本
- 11. Drupal如何創建一個執行cgi腳本的規則
- 12. 如何創建批處理文件來執行sql腳本
- 13. 如何創建可執行的PrimeTime腳本?
- 14. 如何使用mysql執行sqlalchemy腳本以創建數據庫
- 15. 如何防止jqueryui對話框創建腳本重新執行?
- 16. 如何創建一段C#.NET腳本讓MySql服務器執行MySql腳本?
- 17. 如何創建一個腳本來執行Python中的執行管理器?
- 18. 無法在安裝rmovie gem時創建gem本機擴展
- 19. 創建Shell腳本來執行Jar(執行sudo命令)
- 20. 如何在創建Ruby gem時進行測試?
- 21. 執行jmeter腳本時無法創建用戶
- 22. 每次創建新用戶時執行shell腳本
- 23. 致命錯誤!創建可執行文件時無法執行腳本
- 24. 如何執行Java腳本
- 25. 如何PHP腳本執行
- 26. 錯誤:執行gem時(Gem :: FilePermissionError)
- 27. Joomla在超時時執行腳本?
- 28. 如何查看執行腳本時執行的命令?
- 29. 如何讓Python腳本在執行後運行powershell腳本
- 30. 創建執行php腳本的crontab並在1小時後自行刪除