ruby – 构建后宝石中缺少文件
TL; DR:
不要在现有的git存储库中运行bundle.奇怪的事情会发生没有任何错误信息. 原始问题: 我通过修改本教程中的步骤构建了一个gem: http://net.tutsplus.com/tutorials/ruby/gem-creation-with-bundler/ 作为最后一步,我已经运行gem build .gemspec 这样做成功了,但是当我安装gem时,我找到了关键文件,其中包含我的代码的文件不在gem中.相同(lib)目录中的另一个文件“version.rb”确实存在于gem中. 我不知道如何开始调试这个…如何bundler / gem构建决定哪些文件包含在宝石? 编辑: 我的工作流程是: gem build <project_name>.gemspec gem unpack <project_name> => confirm file does not exist in <unpacked>/lib/ gem install <project name> => confirm file structure in ~/home/stefan/.rvm/... contains gem,but does not contain desired file 编辑2 /分辨率: 我终于可以通过将我的所有代码提交到远程存储库,创建一个干净的克隆和构建gem来获得这些工作.新宝石包括所有必需的文件. 有一点历史…我最初创建了代码,并在考虑制作宝石之前承诺了(这是我的第一个宝石).然后我使用原始存储库中的bundle,而没有抱怨,但可能是奇怪的原因. 解决方法
Bundler为你做的一件事是启动一个本地的git repo来版本管理你的宝石代码.检查你是否添加了git文件
git add lib/gem_name/missing_file.rb Bundler生成的宝石在内部使用git来跟踪宝石的源文件的“成员资格”.您可以在.gemspec中看到这一点,它使用反引号来调用git并生成文件列表: gem.files = `git ls-files`.split($/) 注意这也意味着你应该注意你在.gitignore中列出的内容 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |