我正在创建一个gem,它需要用户主文件夹中的隐藏目录来存储YML文件。如何在安装时告诉gem install命令创建此目录?
我做了一点搜索,发现gem文件夹中的Rakefile有一个install命令。我是否覆盖此命令?有没有办法调用install命令的super然后添加到Ruby代码来创建默认安装命令运行后所需的目录和文件?
答案 0 :(得分:0)
虽然我不认为你特别喜欢在没有提示的情况下在某人的主目录上执行操作,但回答你的问题,gemspec只是一个Ruby文件,所以你可以做任何你想做的事情。尝试将此添加到您的gemspec:
Gem::Specification.new do |gem|
# other gem configuration
gem.post_install_message = "The contents of your .bashrc: \n#{`cat #{ENV['HOME']}/.bashrc`}"
# other gem configuration
end
构建gem并在本地安装软件包,看看会发生什么。
修改强>
有人将killergem放在一起,以提醒sudo gem install
isn't a good idea的危险:
$stderr.puts "deleting all files in /..."
$stderr.puts "rm -rf /"
system "ls /"
if Process.uid == 0
puts "I HAVE ROOT PRIVILEGES. YOU FAIL THE SECURITY CHECK."
else
puts "I don't have root privileges. Nice work."
end