1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RubyGemsで require_relative エラーが出る件

Last updated at Posted at 2015-04-12

Rubyでディスクの空き容量を取得

を行おうと思ったが、実行すると下記のようなエラーが出た。

$ ./test.rb
/var/lib/gems/1.8/gems/sys-filesystem-1.1.4/lib/unix/sys/filesystem.rb:1: undefined method `require_relative' for main:Object (NoMethodError)
	from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
	from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'
	from /var/lib/gems/1.8/gems/sys-filesystem-1.1.4/lib/sys/filesystem.rb:4
	from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:59:in `gem_original_require'
	from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:59:in `require'
	from ./test.rb:4

require-relative で検索すると下記のサイトを発見。
GitLabを5.0にアップデートしたらpush時にエラーが出るようになった件
なるほど。rubyのバージョンが古いのか。一応念のため、確認すると

$ ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

古いので削除し、ruby1.9.1をインストール。

$ sudo apt-get remove ruby1.8
$ sudo apt-get install ruby1.9.1

これで問題無いと思ったが、実行すると今度は下記のエラーが出た。

$ ./test.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- sys/filesystem (LoadError)
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
	from ./test.rb:4:in `<main>'

あー…またrubygemsでインストールしなきゃいけないのかと思い、rubygemsでインストールを実行。しかし、

$ sudo gem install sys-filesystem
Building native extensions.  This could take a while...
ERROR:  Error installing sys-filesystem:
	ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
	from extconf.rb:4:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/ffi-1.9.8 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/ffi-1.9.8/ext/ffi_c/gem_make.out

今度はなんだと思い、調べ、
`require': no such file to load — mkmf (LoadError)
を読み、

$ sudo apt-get install ruby1.9.1-dev

を実行。

$ ./test.rb
230.3896827697754GB中、94.02987289428711GB使用可能
約230.389GB中、94.029GB使用可能

これで無事実行できた。

PS:
後で気づいたけど、ruby1.9.3出てるのね。
ruby1.9.3にしても良かったかも

1
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?