web-dev-qa-db-ja.com

`require ':読み込むファイルはありません - mkmf(LoadError)

私はRuby 1.9.1を使ってUbuntu Natty Narwhal 11.04にRailsをインストールしようとしていました。

Devパッケージを含むapt-get install Ruby1.9.1-fullを使ってRubyをインストールしました。私はエラーをグーグルし、私がすでに持っている1.9.1-devをインストールすることをすべて提案しました。

Building native extensions.  This could take a while...
ERROR:  Error installing Rails:
    ERROR: Failed to build gem native extension.

        /usr/bin/Ruby1.8 extconf.rb
extconf.rb:36:in `require': no such file to load -- mkmf (LoadError)
    from extconf.rb:36


Gem files will remain installed in /usr/lib/Ruby/gems/1.8/gems/bcrypt-Ruby-3.0.1 for inspection.
Results logged to /usr/lib/Ruby/gems/1.8/gems/bcrypt-Ruby-3.0.1/ext/mri/gem_make.out
557
Omar A. Shaban

解決策を探した後、-devだけでなくRuby1.8パッケージが必要であることがわかりました。 Ruby1.9.1をやっているのであれば

Sudo apt-get install Ruby1.9.1-dev

または一般的なRubyバージョンをインストールするには、(@lamplightdevコメントに従って)を使用します。

Sudo apt-get install Ruby-dev

それを修正する必要があります。

ファイルが実際にそこにあるかどうかを確認するためにlocate mkmfを試してください。

975
Emil Ivanov

これは私のために働いた答えです。上記のコメントにありましたが、ubuntu 12.04 Ruby 1.8.7のための答えとしてその正当な場所に値する

Sudo apt-get install Ruby-dev
# if above doesnt work make sure you have build essential
Sudo apt-get install build-essential
185
jmontross

私はまたbuild-essentialをインストールする必要がありました:

Sudo apt-get install build-essential
37
James Dunmore

問題はまだUbuntu 13/04/13.10/14.04で再帰的です

そして

Sudo apt-get install Ruby1.9.1-dev

私のためにうまくいきました。あなたがUbuntu 13.04/13.10/14.04を使っているのであれば、これを使うと本当に役に立ちます。

Rubyのバージョンが1.9.3であってもこれは動作します。これは、リポジトリにRuby 1.9.3-devが存在しないためです。

30
kenju254

やってみました:

Sudo apt-get install Ruby1.8-dev
17
Matteo Alessani

バンドルをインストールするとき、私は同様のエラーを得ました

Sudo apt-get install Ruby-dev

私のために素晴らしい仕事と問題を解決するMint 16 Ruby1.9.3

10
Sergey Nikolaev

少し遅れていると思いますが

Sudo yum install -y gcc Ruby-devel libxml2 libxml2-devel libxslt libxslt-devel

fedoraで私のために働きました。

http://nokogiri.org/tutorials/installation_nokogiri.html

2
JGutierrezC

あなたはRuby 1.8を持っているので、あなたはそれを動かすために少なくとも1.9にアップグレードする必要があります。

もしそうなら、 Ruby gemの特定のバージョンをインストールするにはどうすればいいですか?

これでも解決しない場合は、Ruby-devを再インストールしてください。

1
kenorb

RVM(Rubyバージョンマネージャ)を使うことができます。これはあなたのマシン上のすべてのバージョンのRubyを管理するのに役立ちます。これは開発に非常に役立ちます(不安定版から安定版へ移行する場合)。

またはLinux(ubuntu)の場合はSudo apt-get install Ruby1.8-devを参照してください。

それからSudo gem install Railsがそれを行うことを確認するためにRails -vそれはRails上のバージョンを表示するでしょう

その後バンドルをインストールすることができます(開発に必要なgem)

0
Moniv