bundle update似乎正在删除我的.gem文件

时间:2013-09-06 22:10:03

标签: ruby gem bundler

我是新手来建造宝石,所以请耐心等待。

情境:

[Gemfile]
source 'https://rubygems.org'
gem 'curriculous', path: '/mydev/curriculous'

$ ls /mydev/curriculous
Gemfile             Rakefile            curriculous.sublime-project
Gemfile.lock            bin             curriculous.sublime-workspace
LICENSE.txt         curriculous-0.0.1.alpha.gem lib
README.md           curriculous.gemspec     spec

$ bundle update
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Using curriculous (0.0.1.alpha) from source at /mydev/curriculous
Using bundler (1.3.5)
Your bundle is updated!

$ ls /mydev/curriculous
Gemfile             Rakefile            curriculous.sublime-workspace
Gemfile.lock            bin             lib
LICENSE.txt         curriculous.gemspec     spec
README.md           curriculous.sublime-project

问题: 我的.gem文件去了哪里?我做错了什么?

附录1

  • 上面的gemfile在我的testfile中。我已将其上传到github: https://github.com/pitosalas/testcur
  • 宝石本身现在也在github上: https://github.com/pitosalas/curriculous
  • gem(gem -v)的版本是2.0.2

  • 我再次承认我之前没有这样做,所以我可能有一些完全愚蠢的事情。

  • 我想我正在尝试做一些有点棘手的事情,也许有更好的方法来做这件事
  • 但是这个被删除的.gem文件的奇怪行为并不适合我的任何宝石心理模型等等我想跟踪发生了什么。

1 个答案:

答案 0 :(得分:1)

您在Gemfile内部显示curriculous本身的curriculous,或使用curriculous的第二个项目?

如果是gem 'curriculous', path: '/mydev/curriculous'内的那个,那么您应该删除gemspec行。这表明课程取决于自己,这可能不是你的意思:)。

而是添加仅curriculous.gemspec的行。这告诉Bundler读取Gemfile文件以找到项目的依赖项。

有一个基于http://net.tutsplus.com/tutorials/ruby/gem-creation-with-bundler/

创建宝石的基础教程

如果bundle用于其他项目,那么您正确地执行此操作。有什么东西不起作用吗?运行gem --version将重建gem。它的具体细节取决于RubyGems的哪个版本是活跃的。你可以发帖{{1}}吗?