Rails アプリケーションをサーバーにデプロイしようとしています。いくつかの環境制限があります。つまり、次のとおりです。
- サーバーでインターネットにアクセスできない
- サーバーへのルートアクセスなし
- ビルドツールなし (GCC など)
カピストラーノのデプロイはほとんど機能していますが、バンドラーが json gem をインストールしようとすると失敗します。
** [out :: 192.168.7.115] Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
** [out :: 192.168.7.115]
** [out :: 192.168.7.115] /app/ruby/bin/ruby extconf.rb
** [out :: 192.168.7.115] creating Makefile
** [out :: 192.168.7.115]
** [out :: 192.168.7.115] make
** [out :: 192.168.7.115] compiling generator.c
** [out :: 192.168.7.115] make: gcc: Command not found
** [out :: 192.168.7.115] make: *** [generator.o] Error 127
インターネットがないので、すべての宝石を に保存していvendor/cache
ます。gcc を備えた同様のマシンで json gem をコンパイルすることでこの問題を解決したかったのですが、システム上で「コンパイルされたように見える」gem を見つけることができませんでした。通常、[gemname]-x86_64-linux.gem
コンパイルがすでに処理されていることを示す gemfile が表示されます。JSON gem でこれを見つけることができないようですが、見つかった場合は、それを自分のvendor/cache
フォルダーにドロップして、1 日と呼ぶことができると思います。
助言がありますか?この問題に正しく取り組んでいますか?