我想编写一个 Ruby 片段,当我的 Gem 首次通过[sudo ]gem install mygem
. 可以做到吗?
Gaius
问问题
1384 次
3 回答
2
它看起来并不真正受到支持。我找到了一个“post_install_message”属性,您应该可以在 gem 规范中设置它,但它不会执行代码。
您可以通过将安装时的代码打包为 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
您可以尝试使用调用操作系统命令来执行此操作。我会从 irb 引用 eample,但你也可以在你的脚本中做同样的事情。
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 回答