Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"Cannot read property 'upgrade' of undefined" when starting vue application

I have a project that's been running perfectly for a few months now, able to run npm run serve with no problem. I have to terminate and run the command again whenever I switch networks, but that has never been a problem and the server could always start again.

Until now - no matter what I do I can't get the server to start. I get this error:

npm run serve

> [email protected] serve D:\workspace\[PROJECT]
> vue-cli-service serve

 INFO  Starting development server...
 10% building 1/1 modules 0 active ERROR  TypeError: Cannot read property 'upgrade' of undefined
TypeError: Cannot read property 'upgrade' of undefined
    at Server.<anonymous> (D:\workspace\[PROJECT]\node_modules\webpack-dev-server\lib\Server.js:667:47)
    at Array.forEach (<anonymous>)
    at new Server (D:\workspace\[PROJECT]\node_modules\webpack-dev-server\lib\Server.js:666:22)
    at serve (D:\workspace\[PROJECT]\node_modules\@vue\cli-service\lib\commands\serve.js:137:20)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
    at Function.Module.runMain (module.js:695:11)
    at startup (bootstrap_node.js:191:16)
    at bootstrap_node.js:612:3

The last time I got this message was when I forgot to set the .env files, but this is a previously working copy with all necessary files set, and no changes since the last working run.

I've even tried pulling a fresh copy of the repo, running npm i and setting all env files but it still fails.

npm run lint and npm run build can still work, only npm run serve.

Am I missing anything?

like image 395
kkontagion Avatar asked Mar 26 '19 02:03

kkontagion


4 Answers

The problem was again with the .env files. My vue.config.js was trying to access a previously set environment variable that had since been removed.

Only strange thing was that there weren't any problems up til now?

like image 57
kkontagion Avatar answered Nov 15 '22 14:11

kkontagion


I guess your devServer.proxy.target is empty! You could set this configuration

like image 36
yvlu wang Avatar answered Nov 15 '22 12:11

yvlu wang


For me it was that I forgot to create (or copy from another PC) the .env file after clone and try to run my project on another PC.

like image 23
Sergey Avatar answered Nov 15 '22 13:11

Sergey


I also had this problem.

I used in the project process to get the backend address(for example):

  devServer: {
    proxy: {
      '/api/back/*': {
        target: process.env.VUE_APP_BACKEND_URL,
        pathRewrite: {
          '/api/back': '/api/back',
        },
      },
    },
  },

But there was no .evn file.

Just create .env file:

VUE_APP_BACKEND_URL= 0.0.0.0:2222 #example

Didn't notice the answer @Sergey.

like image 22
doox911 Avatar answered Nov 15 '22 13:11

doox911