1

私は宝石を書いていますが、宝石がインストールされている間に、宝石にあるスクリプトも実行したいと思っています。

4

2 に答える 2

4

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のプルリクエストコメントに従ってください。

于 2013-01-18T14:20:09.393 に答える
2

おそらくセキュリティ上の理由から、RubyGems 自体ではこれを行うことはできません。あなたができることのほとんどは、ユーザーにメッセージを出力することです:

Gem::Specification.new 'your_gem' do |specification|
  # ...

  specification.post_install_message = 'Thanks for installing!'
end

できることは、gem にセットアップ スクリプトを含め、ユーザーにそれを実行するように要求することです。インストール後のメッセージを使用して、スクリプトを実行する必要があることを知らせます。

于 2013-01-18T12:13:29.790 に答える