web-dev-qa-db-ja.com

Gemインストールエラー:最初に開発ツールをインストールする必要があります

Gem ' sinatra-websocket 'をインストールしようとしましたが、gem install sinatra-websocketを実行したときにこのエラーが発生しました...

ERROR: Failed to build gem native extension

... に加えて ...

C:/Ruby193/bin/Ruby.exe extconf.rb
checking for main() in -lc... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --Ruby=C:/Ruby193/bin/Ruby
    --with-thin_parser-dir
    --without-thin_parser-dir
    --with-thin_parser-include
    --without-thin_parser-include=${thin_parser-dir}/include
    --with-thin_parser-lib
    --without-thin_parser-lib=${thin_parser-dir}/lib
    --with-clib
    --without-clib
C:/Ruby193/lib/Ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from C:/Ruby193/lib/Ruby/1.9.1/mkmf.rb:461:in `try_link0'
    from C:/Ruby193/lib/Ruby/1.9.1/mkmf.rb:476:in `try_link'
    from C:/Ruby193/lib/Ruby/1.9.1/mkmf.rb:619:in `try_func'
    from C:/Ruby193/lib/Ruby/1.9.1/mkmf.rb:845:in `block in have_library'
    from C:/Ruby193/lib/Ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
    from C:/Ruby193/lib/Ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
    from C:/Ruby193/lib/Ruby/1.9.1/mkmf.rb:254:in `open'
    from C:/Ruby193/lib/Ruby/1.9.1/mkmf.rb:284:in `block in postpone'
    from C:/Ruby193/lib/Ruby/1.9.1/mkmf.rb:254:in `open'
    from C:/Ruby193/lib/Ruby/1.9.1/mkmf.rb:280:in `postpone'
    from C:/Ruby193/lib/Ruby/1.9.1/mkmf.rb:789:in `checking_for'
    from C:/Ruby193/lib/Ruby/1.9.1/mkmf.rb:840:in `have_library'
    from extconf.rb:4:in `<main>'

C:\Ruby193\lib\Ruby\gems\1.9.1\gems\thin-1.6.3\ext\thin_parsermkmfファイルは次のようになります。

"gcc -o conftest -IC:/Ruby193/include/Ruby-1.9.1/i386-mingw32 -IC:/Ruby193/include/Ruby-1.9.1/Ruby/backward -IC:/Ruby193/include/Ruby-1.9.1 -I. -DFD_SETSIZE=2048  -DFD_SETSIZE=2048  -O3 -fno-omit-frame-pointer -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration conftest.c  -L. -LC:/Ruby193/lib -L.   -march=i486   -lmsvcrt-Ruby191  -lshell32 -lws2_32 -limagehlp -lshlwapi  "
checked program was:
/* begin */
1: #include "Ruby.h"
2: 
3: #include <winsock2.h>
4: #include <windows.h>
5: int main(int argc, char **argv)
6: {
7:   return 0;
8: }
/* end */

Windows 7を使用しています。

エラーが発生するのはなぜですか? 「Makefileを作成できませんでした...」という行がありますが、それは関連していますか?

23
Generic_User_ID

実行しましたか:

xcode-select --install

Xcode Developerツールをインストールするには?

27
Alex Chin

Rubyの開発ツールが不足しているように聞こえます。

ここから入手できます: http://rubyinstaller.org/downloads/ 「Development Kit」までスクロールダウンします。

それをダウンロードして、好きな場所に解凍します。コマンドプロンプトでフォルダーを開き、Ruby dk.rb initを実行します。これにより、Rubyインストールの詳細を示す設定ファイルが作成されます。この設定ファイルをチェックしてから、Rubyインストールへのパスが正しいことを確認してください。

Ruby dk.rb installを実行します。これにより、開発キットがインストールされます。

コマンドプロンプトを再起動し、gemを再度インストールしてください。

16
Cereal

MacOS Mojave(10.14.1)でこの問題が発生していました。 Homebrewを使用して最新のRubyをインストールし、いくつかのenv変数を設定することで解決しました。

export PATH="/usr/local/opt/Ruby/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/Ruby/lib"
export CPPFLAGS="-I/usr/local/opt/Ruby/include"
export PKG_CONFIG_PATH="/usr/local/opt/Ruby/lib/pkgconfig"
4
Divyanshu Rawat

Mac OS 10.14(Mojave)をお使いの場合

cd  /Library/Developer/CommandLineTools/Packages/;
open macOS_SDK_headers_for_macOS_10.14.pkg

Roy Huang Referenceの功績: https://stackoverflow.com/a/55732339/1598551

3
tw airball

これは私のために働いた
"Sudo xcode-select -switch /"

3
maheshsgr

これは、コンパイラツールがインストールされていないことを意味します。 Mac用 xcode-select --installはそれらをインストールします。 Linuxまたはその他のシステムの場合、パッケージマネージャーを使用できます。たとえば、apt install cmakeは、aptパッケージマネージャーを備えたシステムに必要なビルドツールをインストールする必要があります。

2
Behlül Uçar