dockerでvue-cliを立ち上げようとした際にnpmエラー
コード
/app/frontend # npm run local-serve > practice-app@0.1.0 local-serve > vue-cli-service serve --mode local sh: vue-cli-service: not found
内容
原因と考えられること
・dockerの立ち上げがうまくいかない時があり、その際にnode modulesを削除して対処していたので、そこら辺が原因かと思われる。
やったこと
・node modulesを入れ直す
解決策
rm -rf node_modules package-lock.json && npm install
考え
vue-cliがないときは、node modulesを入れ直してあげるのが吉。
package.jsonに記載があればもう一度インストールしても問題ない(node modulesはpackage.jsonに依存している)。
package.jsonがあり、package-lock.jsonが存在しない時にnpm install もしくは npm update を行うとpackage-lock.jsonが作られるようだ。
つまり、node_modules と package-lock.json を一旦消して npm install をしてあげることで、それぞれの依存関係の整合性をとることで解決に至ることができたのではないだろうか。
参考にした記事
https://ysko909.github.io/posts/fix-vue-cli-service-command-not-found-error/
【初心者向け】NPMとpackage.jsonを概念的に理解する - Qiita
package-lock.jsonの脆弱性に対応する - 文鳥大好きエンジニアのガラクタ置き場
Vue.jsでライブラリをインポートしたときにエラーが出た時はこちら↓