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、バンドルは 1.1.4 です。重要な場合、この rake タスクは実際には whiskey_disk を介して実行されます。)

== 8ヶ月後 ==

私は同じエラーを見つけています。繰り返しますが、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 updateとしましたが、どちらも何も変更しません。bundle update bcrypt-ruby

4

2 に答える 2

1

おそらく正しいルビーを使用していません。マシンに ssh した後、チェックwhich rubyが使用されています。rvm を使用している場合は、システムの ruby​​ をアンインストールするだけです。

于 2013-02-24T00:15:18.627 に答える
1

問題は、私の RVM の Ruby がどのリモート コマンドでも使用されていないという事実に帰着しました。彼らはディストリビューションの非 RVM Ruby を使い続けました。

したがって、2 つの修正が必要でした。

  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. 後続の rake コマンドが RVM ruby​​ を使用するように、post_setup.sh および post_deploy.sh スクリプトで RVM をロードする必要がありました。

    これは、それぞれに以下を追加することによって達成されました。

    # 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
    

    (後者は、それがどれほど洗練されているかを考えると、明らかに私が書いたものではありません。以前に明らかにこれを扱った私の会社の他のプロジェクトの1つから持ち上げました。)

  3. bundle installpost_setup.sh および post_deploy.sh スクリプトも実行する必要があります。これは、whiskey_disk が Rake の実行を開始する前に発生する必要があるため、Rake スクリプト自体に含めるだけでは不十分です。

これで、whiskey_disk のデプロイがスムーズに機能するようになりました。

于 2013-02-25T22:40:52.540 に答える