2014先日、投稿しようと思ったらwerckerのbuildが通らなくなっていたのでメモ。jekyllのバージョンを上げたからその影響なのかな、と思って調べてみましたが結果はGemの指定の問題でした。installした際に生成されたGemfile.lockを修正したら上手くいきました。修正後PLATFORMSPLATFORMSの指定を空にしました。できなさそうだったので致し方なく。以下はここに至るまでのプロセスです(おまけ)。経緯(おまけ)最初のエラーはこちらでした。jekyll`「あなたはjekyllの0以上を要求していますがbundleは2.5.2以上でロックしてますよ」と。「じゃあ2.5.2入れてください」って思いますが、そうはならないのがbundleの不思議。ちなみにこの時のGemfileは以下。0.1.0'end特にjekyllのバージョンは指定しません。updateして出来上がっていたGemfile.lockはこちら。0.1.0)確かにGemfile.lockでは2.5.2以上になってますね。Gemfileでバージョン指定しておらず、一方でGemfile.lockでバージョン指定したらGemfile.lockが優先されると思っていたのですがそうじゃないのかな?試しに、ローカルのGemfileのjekyllにバージョン指定の記述を追加します。updateもしておきます。ローカルは問題なく動作。werckerではbuildエラーが出ています。jekyll`指定あってるじゃん!なのにエラー。このあたりから「バージョン指定の問題ではないのでは?」と感じます。試しにGemfile.lockを退避させてwerckerでbuildしてみます。すると・・・build通った。foundなんで通るのか。退避させたGemfile.lockと内容付け合わせてみました。Gemfile.lockで記述されてないのに、wercker上でインストールされたもの。Gemfile.lockで記述されてたのにwercker上でインストールされなかったもの。これはシンタックスハイライトのためのツール。微妙にバージョンが異なっていたもの。Gemfile.lockここで気づきまして、「あ、OSの差の問題だ」と。x64-mingw32となっていたので、これを外してwerckerでbuild成功して終了。根本的な原因は依然不明のままです。詳しい人いたら教えてほしい・・。それにしてもbundlerは便利なのですが、環境の差を完璧に吸収してくれるものでもないですし、あまり頼りすぎるのも問題なのかなぁと感じた次第です。DoeWeb会社に勤務するデザイナーです。普段はデザインを担当していますが、ここではデザイン、プログラミング、インフラなど興味の赴くままに幅広く書いています。DoeWeb会社に勤務するデザイナーです。普段はデザインを担当していますが、ここではデザイン、プログラミング、インフラなど興味の赴くままに幅広く書いています。