0
0

More than 1 year has passed since last update.

【Rails×Vue】Error: Can't resolve '@smartweb/vue-flash-message' の解決

Posted at

Rails×VueでSPA化に取り組んでいる初学者の備忘録です。

エラー詳細

Vueを用いてフラッシュメッセージを表示するため@smartweb/vue-flash-messageを導入。
https://www.npmjs.com/package/@smartweb/vue-flash-message/v/next

npm i @smartweb/vue-flash-message@next

開発環境で問題なく動作したためherokuにデプロイしようとしたところ次のエラーが発生した。

ModuleNotFoundError: Module not found: Error: Can't resolve '@smartweb/vue-flash-message' in '/tmp/build_7d25413c/app/javascript/packs'
           at 
.
.
.
.
.

Field 'browser' doesn't contain a valid alias configuration
           resolve as module
             looking for modules in /tmp/build_7d25413c/app/javascript
               using description file: /tmp/build_7d25413c/package.json (relative path: ./app/javascript)
                 Field 'browser' doesn't contain a valid alias configuration
                 using description file: /tmp/build_7d25413c/package.json (relative path: ./app/javascript/@smartweb/vue-flash-message)
                   no extension
                     Field 'browser' doesn't contain a valid alias configuration
.
.
.
.

                     /tmp/build_7d25413c/app/javascript/@smartweb/vue-flash-message doesn't exist

エラー原因

本番環境上で@smartweb/vue-flash-messageが読み込まれていなかった。

package.json
"dependencies": {
    "@rails/actioncable": "^6.0.0",
    "@rails/activestorage": "^6.0.0",
    "@rails/ujs": "^6.0.0",
    "@rails/webpacker": "^5.4.3",
    "@smartweb/vue-flash-message": "^1.0.0-alpha.12",
    "@vue/babel-plugin-jsx": "^1.1.0",
    "@vue/compiler-sfc": "^3.2.19",
    "axios": "^0.22.0",
    "turbolinks": "^5.2.0",
    "vue": "^3.2.19",
    "vue-loader": "^16.8.1",
    "vue-router": "^4.0.11",
    "vuex": "^4.0.2"
  },

package.jsonを見るとdependencesに記載があるので問題ないと思っていたがyarnでプラグインをインストールする必要があった。

解決

一度, プラグインをアンインストールし、

yarn add @smartweb/vue-flash-message@next

で再インストール。herokuにデプロイしたところ、package.jsonとyarn.lockが混在していると表示が出たので

git rm package-lock.json

でyarn.lockを残すようにしてデプロイを実行。
エラーが解決した。

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