[解決済み] json gem のインストール中にエラー 'mkmf.rb can't find header files for ruby' が発生する。
2022-02-01 18:31:45
質問
文脈上、ファイアウォールを持つリモートサーバにあります。プロキシを経由して環境を整えています。私は
ruby 1.8.7
. gem installしようとすると...
sudo gem install --http-proxy <host address>:<port> json
以下のようなエラーが発生します。
Building native extensions. This could take a while...
ERROR: Error installing json:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h
Gem files will remain installed in /usr/lib64/ruby/gems/1.8/gems/json-1.8.1 for inspection.
Results logged to /usr/lib64/ruby/gems/1.8/gems/json-1.8.1/ext/json/ext/generator/gem_make.out
何が問題なのか分からないので、ググってみると、こんなのがありました。
-
gem install: gem ネイティブエクステンションのビルドに失敗しました (ヘッダーファイルが見つかりません) - というメッセージが表示されますが、これはインストールされるgemに特有のものだと思われます。
-
json gemのインストール方法 - gemネイティブ拡張のビルドに失敗しました。 これは少し違うエラーのようです。
何かヒントがあれば教えてください。ありがとうございます。
どのように解決するのですか?
現代版アップデート、として mimoraleaさん談 :
<ブロッククオートruby 2.0 または 2.2 を使用している場合 (@patrick-davey さんありがとうございます)。
sudo apt-get install ruby2.0-dev
sudo apt-get install ruby2.2-dev
sudo apt-get install ruby2.3-dev
または、一般的な方法。
sudo apt-get install ruby-dev
または
sudo apt-get install ruby`ruby -e 'puts RUBY_VERSION[/\d+\.\d+/]'`-dev
最初に貼られたリンクは
まさに
あなたの場合、rubyの開発環境がインストールされていないのです。開発環境は、ruby の拡張機能をコンパイルするために必要です。
C
. プロキシは問題とは関係なく、ダウンロードは正常に行われ、コンパイルに失敗するだけです。
をインストールすることをお勧めします。
ruby-dev
(
ruby-devel
をターゲットマシーンにインストールします。
gcc
パッケージも必要な場合があります。
試してみてください。
$ sudo apt-get install ruby-dev
または、Redhatディストロの場合。
$ sudo yum install ruby-devel
あるいは、[open]SuSEの場合。
$ sudo zypper install ruby-devel
関連
-
[解決済み】RestClientException: 適切な HttpMessageConverter が見つかりませんでした。
-
[解決済み] Elasticsearchで部分一致を行うにはどうしたらいいですか?
-
[解決済み] BeautifulSoupでJSONオブジェクトから特定の値をパースする
-
[解決済み] JSONDecodeError: 期待される値:行1列1
-
[解決済み] YAMLとJSONの違いは何ですか?
-
[解決済み] mysql2 のインストールに失敗しました。gem ネイティブエクステンションのビルドに失敗しました
-
[解決済み] Node.js プロジェクトの package.json ファイルを自動的にビルドする方法はありますか?
-
[解決済み】Ubuntuでのsqlite3-rubyのインストールエラー
-
[解決済み] Swift 4 の JSONDecoder で、見つからないキーは、オプションのプロパティである必要はなく、デフォルト値を使うことができますか?
-
[解決済み] CSV/XLSをJSONに変換する?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JQ:キーに対するフィルタリング
-
[解決済み] マニフェスト 行: 1, 列: 1, 構文エラー
-
[解決済み] JSON命名規則(snake_case、camelCase、PascalCase) [終了しました。]
-
[解決済み] Node.js プロジェクトの package.json ファイルを自動的にビルドする方法はありますか?
-
[解決済み] gem install: gemネイティブエクステンションのビルドに失敗しました(ヘッダーファイルが見つかりません)。
-
[解決済み] Node.jsでJSONオブジェクトの内容をログに記録する方法は?
-
[解決済み] http.GetからJSONレスポンスを取得する方法
-
[解決済み] jqを使用してjsonドキュメントの単一の値を更新するにはどうすればよいですか?
-
[解決済み] JSON、REST、SOAP、WSDL、そしてSOA。これらはどのように結びついているのか
-
[解決済み] ASP.NETでWebAPIやMVCを使ってJSONを返す。