【问题标题】:Adding files when installing a gem安装 gem 时添加文件
【发布时间】:2014-05-08 19:35:21
【问题描述】:

我正在编写一个 gem,它需要一个目录来存储一些配置。我想在安装时执行此操作,但我不确定如何最好地将代码插入到安装过程中。

通过将代码添加到Rakefile 并将spec.extensions = ["Rakefile"] 添加到我的gemspec,我已经实现了我想要做的,但是这种方法意味着安装过程告诉我我正在构建本机扩展;这是误导。

是否有内置的方法或通过捆绑器?我假设Bundler::GemHelper.install_tasks 接近我所追求的,但我找不到有用的文档。

编辑:我当前的Rakefile

【问题讨论】:

  • 我们可以获取一些您现在正在做什么的示例片段吗?不确定您是在创建文件、目录、复制现有数据,还是...
  • @NickVeys 已在链接中编辑。
  • 老实说,我会让应用程序本身在第一次运行时生成它。我想它相当快?
  • 是的,我想这在这种情况下更有意义。但总的来说,是否有一种公认的方式来做到这一点?

标签: ruby gem installation


【解决方案1】:

似乎 RubyGems 设计者故意在安装过程中保留了运行脚本的选项...所以我会说公认的方法是在应用程序中创建目录。

unix 方式是由应用程序创建目录(vi 和 git 这样做)。

FileUtils.mkdir_p 很方便...它可以让您不必检查目录是否已经存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    相关资源
    最近更新 更多