web-dev-qa-db-ja.com

@global gemを使用したRuby / RVM-バンドルの実行が「require」で失敗する:そのようなファイルをロードできない—バンドル(LoadError)

Linuxを1か月間勉強しています。 MySQLからHerokuのPostgresへの移行 からすべての手順を実行しようとしましたが、処理できないエラーが発生しました。

ソースからmysqltopostgres gemをインストールしようとすると:

$ git clone https://github.com/maxlapshin/mysql2postgres.git
$ cd mysql2postgres
$ bundle install
$ gem build mysqltopostgres.gemspec
$ Sudo gem install mysqltopostgres-0.2.20.gem

$ bundle installでエラーが発生しました:

/home/franchb/.rvm/rubies/Ruby-2.3.0/lib/Ruby/2.3.0/rubygems/core_ext/
kernel_require.rb:55:in `require': cannot load such file -- bundler (LoadError) 
from /home/franchb/.rvm/rubies/Ruby-2.3.0/lib/Ruby/2.3.0/rubygems/core_ext/
kernel_require.rb:55:in `require'
from /usr/bin/bundle:7:in `<main>'

Sudo apt-get install bundlerをインストールしましたが、bundle -vと入力すると同じエラーが発生します。

私のgem envは:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.5.1
  - Ruby VERSION: 2.3.0 (2015-12-25 patchlevel 0) [x86_64-linux]
  - INSTALLATION DIRECTORY: /home/franchb/.rvm/gems/Ruby-2.3.0@global
  - USER INSTALLATION DIRECTORY: /home/franchb/.gem/Ruby/2.3.0
  - Ruby EXECUTABLE: /home/franchb/.rvm/rubies/Ruby-2.3.0/bin/Ruby
  - EXECUTABLE DIRECTORY: /home/franchb/.rvm/gems/Ruby-2.3.0@global/bin
  - SPEC CACHE DIRECTORY: /home/franchb/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /home/franchb/.rvm/rubies/Ruby-2.3.0/etc
  - RUBYGEMS PLATFORMS:
    - Ruby
    - x86_64-linux
  - GEM PATHS:
     - /home/franchb/.rvm/gems/Ruby-2.3.0@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - Shell PATH:
     - /home/franchb/.rvm/gems/Ruby-2.3.0@global/bin
     - /home/franchb/.rvm/rubies/Ruby-2.3.0/bin
     - /home/franchb/.rvm/bin
     - /home/franchb/bin
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin
     - /usr/games
     - /usr/local/games

私のrvm gemset list

gemsets for Ruby-2.3.0 (found in /home/franchb/.rvm/gems/Ruby-2.3.0)
   (default)
=> global
   Rails230

私の宝石リストは

*** LOCAL GEMS ***

bigdecimal (1.2.8)
bundler-unload (1.0.2)
did_you_mean (1.0.0)
executable-hooks (1.3.2)
gem-wrappers (1.2.7)
io-console (0.4.5)
json (1.8.3)
minitest (5.8.3)
net-telnet (0.1.1)
power_assert (0.2.6)
psych (2.0.17)
rake (10.4.2)
rdoc (4.2.1)
rubygems-bundler (1.4.4)
rvm (1.11.3.9)
test-unit (3.1.5)

Linux Mint 17.3を使用しています

何がうまくいかないのか理解してください。 MySQLをHerokuのPosgresに移行するには、mysqltopostgresをインストールする必要があります。

ありがとうございました!

12
Ilya Rusin

1)gem install bundlerを実行するだけでSudoをスキップします

2)bundle installを実行します

今それはうまくいくはずです