首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么邦德勒找不到这块宝石?

为什么邦德勒找不到这块宝石?
EN

Stack Overflow用户
提问于 2011-06-01 23:34:16
回答 5查看 2.9K关注 0票数 3

为什么邦德勒不能找到机械宝石?

以下内容在我的Rails项目的Gemfile中:

代码语言:javascript
复制
gem 'mechanize', :git => 'git://github.com/tenderlove/mechanize.git'

运行包安装会引发以下错误:

代码语言:javascript
复制
Updating git://github.com/tenderlove/mechanize.git
Fetching source index for http://rubygems.org/
Could not find gem 'mechanize (>= 0)' in git://github.com/tenderlove/mechanize.git (at master).
Source does not contain any versions of 'mechanize (>= 0)'

在对项目进行了一些小的更改之后,我就出现了这个问题,但是我无法获得bundler来使用github位置或本地路径。为什么它找不到宝石?

如果我删除所有的指令,只做gem 'mechanize',那么它就完美无缺地工作了。

版本: Bundler 1.0.14 + Rails 3.1发布烛光+Ruby1.8.7(通过)+Debian5

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-06-02 00:11:07

看起来好像是该项目缺少一个宝石规格,其中一个将不会被添加。

您应该能够将项目克隆到您的供应商/gems目录中。您还需要创建一个mechanize.gemspec文件。然后,您将需要在Gemfile中使用类似的内容。

代码语言:javascript
复制
gem 'mechanize',            :path => 'vendor/gems/mechanize'
票数 6
EN

Stack Overflow用户

发布于 2011-06-01 23:45:55

我见过更早版本的bundler在git://类urls上有问题。

您是否尝试过更新bundler;或将git://替换为http://?

票数 1
EN

Stack Overflow用户

发布于 2011-06-02 01:18:40

如果将来有人偶然发现这条线,我做了些什么来让它起作用。

我对项目进行了分叉,然后进行了更改,然后运行以下命令来生成一个.gemspec:

代码语言:javascript
复制
rake debug_gem | grep -v "(in " > `basename \`pwd\``.gemspec

我不得不稍微修改一下,因为was规范试图包含一个不存在的.gemtest文件。

然后,我将Gemfile修改为path中的源代码:

代码语言:javascript
复制
gem 'mechanize', :path => '/my_rails_app/vendor/gems/mechanize'

然后我运行了包安装,一切都顺利进行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6208920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档