首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >伯克斯拒绝更新

伯克斯拒绝更新
EN

Stack Overflow用户
提问于 2014-11-08 14:53:28
回答 1查看 282关注 0票数 0

我可以很好地安装搁板:

代码语言:javascript
复制
$ gem install berkshelf                                                                     
Successfully installed berkshelf-3.2.0
Parsing documentation for berkshelf-3.2.0
Done installing documentation for berkshelf after 1 seconds
1 gem installed

但它并没有真正影响到我的工作:

代码语言:javascript
复制
$ berks version
Berkshelf (2.0.18)

这似乎很正常:

代码语言:javascript
复制
$ which berks
/home/rubyUser/.rvm/gems/ruby-2.1.4/bin/berks

我在debian平台上使用ruby 2.1.4 (喘息):

代码语言:javascript
复制
$ rvm list

rvm rubies

   ruby-1.9.3-p550 [ x86_64 ]
=* ruby-2.1.4 [ x86_64 ]

我认为我的道路是正确的:

代码语言:javascript
复制
$ echo $PATH
/home/rubyUser/.rvm/gems/ruby-2.1.4/bin:/home/rubyUser/.rvm/gems/ruby-2.1.4@global/bin:/home/rubyUser/.rvm/rubies/ruby-2.1.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/rubyUser/.rvm/bin:/home/rubyUser/.rvm/bin

很有可能酋长在某种程度上干涉了:

代码语言:javascript
复制
$ whereis berks
berks: /usr/bin/berks /usr/bin/X11/berks /opt/chefdk/bin/berk

给出调用berks的完整路径的bUt不影响版本。看一看which提供的护栏,就会发现它只不过是来自其他地方的宝石,我该如何找到它的来源呢?

代码语言:javascript
复制
$ cat `which berks`
#!/usr/bin/env ruby_executable_hooks
#
# This file was generated by RubyGems.
#
# The application 'berkshelf' is installed as part of a gem, and
# this file is here to facilitate running it.
#

require 'rubygems'

version = ">= 0"

if ARGV.first
  str = ARGV.first
  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
  if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then
    version = $1
    ARGV.shift
  end
end

gem 'berkshelf', version
load Gem.bin_path('berkshelf', 'berks', version)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-08 16:19:40

我在我所在的目录中放置了一个错误的Gemfile.lock。它锁定了2.0版本的搁板。

对我的问题的一个更深层次的答案是得到一个合适的Rakefile,在必要的时候适当地清理这些事情。

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

https://stackoverflow.com/questions/26818344

复制
相关文章

相似问题

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