1

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

设想:

[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
  • gem 本身现在也在 github 上: https ://github.com/pitosalas/curriculous
  • gem (gem -v) 的版本是 2.0.2

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

  • 我想我正在尝试做一些有点棘手的事情,并且可能还有更好的方法来做到这一点
  • 但是 .gem 文件被删除的这种奇怪行为不适合我的任何 gem 心智模型等等,我想追查正在发生的事情。
4

1 回答 1

1

Gemfile展示的是curriculous它本身,还是第二个使用的项目curriculous

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

相反,添加一个只有gemspec. 这告诉 Bundler 读取curriculous.gemspec文件以查找项目的依赖项。

在http://net.tutsplus.com/tutorials/ruby/gem-creation-with-bundler/有一个创建 gems 的基本教程

如果那Gemfile是针对不同的项目,那么您做对了。有什么不工作吗?运行bundle将重建 gem。它的具体功能取决于激活的 RubyGems 版本。你可以发帖gem --version吗?

于 2013-09-07T08:24:02.063 回答