3

私はInvalid gemspec in [path/to/vendor/bundle/spree_api-1.0.0.gemspec]: Illformed requirement ["#<YAML::Syck::DefaultKey:0x2ac381f81938> 1.0.0"] いくつかの宝石を手に入れています(すべてのSpreeとそのspree_ *要件)。私は両方の問題を報告しました(私は彼らのビルドラインを変更したと思います;そしてRubyGemsの古いバージョン1.6.2を持っているホスティング業者site5)

stackoverflowに関するいくつかの 質問にはこれに対する解決策がありますが、私には当てはまりません。

  1. (v)hostにはパッセンジャーがインストールされているため、RVMを使用して他のバージョンのRubyにアップグレードすることはできません。AFAIKでは1つのRubyバージョンしか実行できません。パッセンジャーセットアップにアクセスできません。それ以外の場合.htaccessは、publicフォルダー内にアクセスできます。
  2. 持っていないsudogem update --systemが必要なのでできません。

このエラーが発生する理由に興味があります。rubygems.orgから取得するのではなく、自分でgemをビルドすることで解決できるものですか(たとえば、gitから)。

それは私の開発マシンに宝石をパッケージ化することで解決できるものでしょうか?そこでは問題は発生しません。RubyGemsバージョン以外では、開発マシンにまったく同じRubyバージョンがインストールされています(rvmを問題なく使用できます)。

4

1 に答える 1

3

おそらくこれを回避する方法を見つけたでしょうが、変更を書き込む権限がある場合は、これを修正するハックな方法があります。

cd /path/to/vendor/bundle/テキストエディタで spree_api-1.0.0.gemspec を開きます。

それが言う場所を削除し#<YAML::Syck::DefaultKey:...>、に置き換え>=ます。

それを保存し、Rails アプリのディレクトリに戻って実行しますbundle install

于 2012-07-18T15:40:47.020 に答える