43425


# 環境

Rails 5.1.5  
webpacker 3.3.0

# 現象

[code]

    Compilation failed:
    remote:        /tmp/build_074ca0ee678491d6f72035c60cc5f616/config/webpack/environment.js:5
    remote:        environment.plugins.set('Provide',
    remote:        ^
    remote:        TypeError: environment.plugins.set is not a function
    remote:        at Object.<anonymous> (/tmp/build_074ca0ee678491d6f72035c60cc5f616/config/webpack/environment.js:5:21)
    remote:        at Module._compile (module.js:643:30)
    
[/code]


CC BY-SA 3.0
2018-04-20T04:22:33.377
43424
2018-04-20T04:24:06.803
23582
question
ruby-on-rails webpack
webpackerを使ったrailsアプリを実行するとき、TypeError: environment.plugins.set is not a functionというエラーが出る


# 対策

setではなくappendかprependを使う。webpacker 3.3.0でsetがremoveされたため。

# 例

## Before

[code]

    config/webpack/environment.js
    environment.plugins.set('Provide',
      new webpack.ProvidePlugin({
        $: 'jquery',
        jQuery: 'jquery'
      })
    )
    
[/code]

## After

[code]

    config/webpack/environment.js
    environment.plugins.prepend('Provide',
      new webpack.ProvidePlugin({
        $: 'jquery',
        jQuery: 'jquery'
      })
    )
    
[/code]

# リンク

<https://github.com/rails/webpacker/issues/1318>
<https://github.com/rails/webpacker/blob/master/CHANGELOG.md#330---2018-03-03>  
<http://more-caffeine.hatenablog.com/entry/2018/03/05/142450>  
<https://stackoverflow.com/questions/49107725/i-got-webpacker-error-when-
running-the-rails-app-typeerror-environment-plugin>


CC BY-SA 3.0
2018-04-20T04:24:06.803
43425
2018-04-20T04:24:06.803
23582
43424
answer