0
1

More than 5 years have passed since last update.

sprockets-railsでつまずいた

Last updated at Posted at 2016-12-01

背景

Railsを利用していた時のトラブルシュートです。

新しくrailsのプロジェクトを作成した時に、
いきなりrakeのタスクが使用できなくなり、
解決するのに時間がかかったので、メモで記述します。

内容

とある時にいつも通りにrails new して、
何気なくscaffold を実行すると、以下のエラーが発生した。


$ rails g scaffold item
/root/.rbenv/versions/2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- bundler/setup (LoadError)
    from /root/.rbenv/versions/2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /usr/share/nginx/hoge/vendor/bundle/ruby/2.2.0/gems/spring-1.6.1/lib/spring/commands.rb:33:in `<module:Spring>'
    from /usr/share/nginx/hoge/vendor/bundle/ruby/2.2.0/gems/spring-1.6.1/lib/spring/commands.rb:4:in `<top (required)>'
    from /root/.rbenv/versions/2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /root/.rbenv/versions/2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /usr/share/nginx/hoge/vendor/bundle/ruby/2.2.0/gems/spring-1.6.1/lib/spring/application.rb:77:in `preload'
    from /usr/share/nginx/hoge/vendor/bundle/ruby/2.2.0/gems/spring-1.6.1/lib/spring/application.rb:143:in `serve'
    from /usr/share/nginx/hoge/vendor/bundle/ruby/2.2.0/gems/spring-1.6.1/lib/spring/application.rb:131:in `block in run'
    from /usr/share/nginx/hoge/vendor/bundle/ruby/2.2.0/gems/spring-1.6.1/lib/spring/application.rb:125:in `loop'
    from /usr/share/nginx/hoge/vendor/bundle/ruby/2.2.0/gems/spring-1.6.1/lib/spring/application.rb:125:in `run'
    from /usr/share/nginx/hoge/vendor/bundle/ruby/2.2.0/gems/spring-1.6.1/lib/spring/application/boot.rb:18:in `<top (required)>'
    from /root/.rbenv/versions/2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /root/.rbenv/versions/2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from -e:1:in `<main>'

結論をいうと、sprockets-railsの3.0.0が原因らしい。

### 確認する。
$ bundle show |fgrep sprockets-rails
  * sprockets-rails (3.0.0)

### 削除する。
$ gem uninstall sprockets-rails

You have requested to uninstall the gem:
    sprockets-rails-3.0.0

rails-4.2.5 depends on sprockets-rails (>= 0)
sass-rails-5.0.4 depends on sprockets-rails (< 4.0, >= 2.0)
web-console-2.2.1 depends on sprockets-rails (< 4.0, >= 2.0)
If you remove this gem, these dependencies will not be met.
Continue with Uninstall? [yN]  y
Successfully uninstalled sprockets-rails-3.0.0

### Gemfileに追加する。
$ echo "gem 'sprockets-rails', '2.3.3'" >> Gemfile

### bundle update をする。
$ bundle update sprockets-rails

### 確認する。
$ bundle show |fgrep sprockets-rails
  * sprockets-rails (2.3.3)

### 再度scaffoldする
$ rails g scaffold item

という流れでうまく処理が通りました。

0
1
0

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
0
1