TLを構築; DR:見つからないファイルの後
は、既存のgitリポジトリ内のバンドルを実行しないでください。奇妙なことはエラーメッセージなしで起こります。
元の質問:私は、このチュートリアルの手順を適合させることにより宝石構築した
:最後のステップとして
http://net.tutsplus.com/tutorials/ruby/gem-creation-with-bundler/
を、私は宝石が.gemspec
を構築し実行してきましたこれは成功しますが、私が宝石をインストールすると、私のコードを含む重要なファイルが宝石に見つかりません。同じ(lib)ディレクトリにある別のファイル "version.rb"は、gemに存在します。
これをデバッグする方法がわかりません...どのようにbundleler/gem buildがどのファイルを宝石に含めるかを決めていますか?
編集:
私のワークフローは次のとおりです。
gem build <project_name>.gemspec
gem unpack <project_name>
=> confirm file does not exist in <unpacked>/lib/
gem install <project name>
=> confirm file structure in ~/home/stefan/.rvm/... contains gem, but does not contain desired file
編集2 /解像度:
私は最終的にリモートにすべての私のコードをコミットすることで、この作業を取得することができましたリポジトリを作成し、クリーンなクローンを作成し、宝石を構築します。新しい宝石にはすべての必要なファイルが含まれていました。
歴史のビット...私はもともとコードを作成し、それを宝石を作ることを考えた前に託しました(これは私の最初の宝石です)。私はのの中にバンドルを使用しましたが、それは不平を言っていませんでしたが、おそらく奇妙な理由でした。
に一覧表示何に注意を払うべきであることを意味
注:あなたはそれをgitのを呼び出して、ファイルのリストを生成するためにバッククォートを使用しています.gemspecでこれを見ることができます私のシステム上の宝石は 'gem build project_name.gemspec;を使っています。 gem unpack project_name-x.y.z.gem'は、最近追加されたファイルをインクルードして展開し、通常は追加の作業やチェックは必要ありません。あなたのワークフローの説明から、予想される動作との違いを引き起こす可能性があることはわかりません。 –
これはおそらく私の頭をレンガの壁に打ちつける10時間を節約しました。私はスタックオーバーフローが大好きです。 – reedstonefood