1

这是我的错误信息:

Running rake deploy:post_setup...
rake aborted!
You have requested:
  nokogiri >= 0

The bundle currently has nokogiri locked at 1.5.5.
Try running `bundle update nokogiri`

这条消息是否告诉我 1.5.5 不知何故不符合 ">= 0" 要求?这听起来不对。

如果我在解释这个错误,我应该如何解释它?

(Ruby 是 jruby-1.6.7.2,bundle 是 1.1.4。这个 rake 任务实际上是通过whiskey_disk 运行的,如果这很重要的话。)

== 八个月后 ==

我发现同样的错误。同样,尝试使用whiskey_disk,所以我怀疑这是与whiskey_disk 相关的。

这一次,它与 bcrypt gem 一起使用。

3052 ~/dev/myproj$ bundle exec wd setup --to=grant
Deploying grant@<myserver>.com...
grant@<myserver>.com's password: 
Repository already cloned to [/home/grant/myproj].  Skipping.
Running rake deploy:post_setup...
rake aborted!
You have requested:
  bcrypt-ruby >= 0

The bundle currently has bcrypt-ruby locked at 3.0.1.
Try running `bundle update bcrypt-ruby`

又是什么鬼?我要求大于 0 的东西,它在抱怨,因为捆绑包有 gem 并且它大于 0!有什么问题?

Gemfile 只包含gem 'bcrypt-ruby'- 没有指定版本。3.0.1 版应该是完全可以接受的。

我试过在目标服务器上做bundle updatebundle update bcrypt-ruby,但都没有改变任何东西。

4

2 回答 2

1

您可能没有使用正确的红宝石。ssh 进入机器后检查which ruby是否正在使用。如果您使用的是 rvm,我只会卸载系统 ruby​​。

于 2013-02-24T00:15:18.627 回答
1

问题归结为我的 RVM 的 Ruby 没有被任何远程命令使用。他们继续使用发行版的非 RVM Ruby。

因此,需要两个修复:

  1. 需要更改我的 .bashrc 中的 RVM 路径行:

    PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting

    需要更改以优先考虑 RVM,如下所示:

    PATH=$HOME/.rvm/bin:$PATH # Add RVM to PATH for scripting

  2. 我需要在我的 post_setup.sh 和 post_deploy.sh 脚本中加载 RVM,以便后续的 rake 命令将使用我的 RVM ruby​​。

    这是通过将以下内容添加到每个内容来完成的:

    # Load RVM into a shell session *as a function*
    if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
      # First try to load from a user install
      source "$HOME/.rvm/scripts/rvm"
    elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
      # Then try to load from a root install
      source "/usr/local/rvm/scripts/rvm"
    else
      printf "ERROR: An RVM installation was not found.\n"
      exit -1
    fi
    

    (后者显然不是我写的,考虑到它是多么的精致。我从我公司的其他项目中提取了它,他们之前已经明确处理过这个问题。)

  3. 我还需要bundle install在我的 post_setup.sh 和 post_deploy.sh 脚本中运行。这必须在whiskey_disk 开始运行Rake之前发生,因此将它包含在Rake 脚本本身中是不够的。

现在我的whiskey_disk 部署工作顺利。

于 2013-02-25T22:40:52.540 回答