Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用RubyGems,安装/卸载gems时是否可以复制/删除文件?_Ruby_Rubygems_Gem - Fatal编程技术网

使用RubyGems,安装/卸载gems时是否可以复制/删除文件?

使用RubyGems,安装/卸载gems时是否可以复制/删除文件?,ruby,rubygems,gem,Ruby,Rubygems,Gem,我有一个Ruby应用程序,它采用插件体系结构,在当前用户的主目录中查看插件是否存在于特定位置。我希望能够将插件打包为RubyGems,并且在安装gem时,将gem中包含的文件复制到用户的插件目录。此外,我还希望在卸载gem时从用户的插件目录中删除这些文件 这在RubyGems中可能吗?我注意到Gem模块有一些安装/卸载钩子,但是从阅读和测试一些代码可以看出,这些钩子应用于安装钩子后处理的所有Gem,而不仅仅用于特定Gem 我还通过gem附带的Rakefile安装gem时做了一些事情,但我不知道在

我有一个Ruby应用程序,它采用插件体系结构,在当前用户的主目录中查看插件是否存在于特定位置。我希望能够将插件打包为RubyGems,并且在安装gem时,将gem中包含的文件复制到用户的插件目录。此外,我还希望在卸载gem时从用户的插件目录中删除这些文件

这在RubyGems中可能吗?我注意到Gem模块有一些安装/卸载钩子,但是从阅读和测试一些代码可以看出,这些钩子应用于安装钩子后处理的所有Gem,而不仅仅用于特定Gem

我还通过gem附带的Rakefile安装gem时做了一些事情,但我不知道在gem卸载时是否可以用Rakefile做同样的事情


有什么建议吗

虽然你可以做这样的事情(我也做了一些jruby的事情),但在你的gem安装或卸载中做这样的事情被认为不是一个好的实践。我不知道在卸载gem期间您可以做什么。如果真的有必要,我建议为setup和infrade方法编写一个rake任务。