私のGemが最初にインストールされたときに実行されるRubyスニペットを書きたい[sudo ]gem install mygem
. それはできますか?
Gaius
質問する
1384 次
3 に答える
2
実際にサポートされているようには見えません。gem 仕様で設定できるはずの「post_install_message」属性を見つけましたが、コードは実行されません。
オンインストール コードを gem の拡張機能としてパッケージ化し (ネイティブ拡張機能のように)、Rakefile を提供して拡張機能を「ビルド」する (つまり、コードを呼び出す) ことで、これを実行できる場合があります。
于 2008-10-23T14:22:03.900 に答える
1
私も同じ問題を抱えていました。私が見つけた最良の解決策は次のとおりです。
# your_gem.gemspec
Gem::Specification.new do |spec|
# ...
spec.extensions = ['Rakefile']
end
-
# Rakefile
task :prepare do
# Execute your post-installation code here
end
task default: :prepare
于 2015-01-17T11:04:39.310 に答える
-3
OSコマンドの呼び出しを使用してこれを行うことができます。irb からサンプルを引用しますが、スクリプトでも同じことができます。
irb(main):001:0> system 'gem list | grep rails'
rails (2.1.1, 2.1.0)
=> true
irb(main):002:0> system 'gem list | grep railssssss'
=> false
このコマンドの結果をスニペット実行の条件として使用できます。
于 2008-10-22T15:56:56.440 に答える