Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

webpack: Cannot read property 'match' of undefined

I have installed webpack (Symfony encore) using npm as follows:

sudo npm install -g @symfony/webpack-encore --save-dev

I ran this from /var/www/project

I was required to install globally due to issues with package managers and shared folders when dealing with Windows host / Linux guest.

I cannot install webpack (node_modules) in the same directory (or under it) as the /var/www/project

So my package.json file looks like this:

{   "name": "test",     "version": "1.0.0",   "description": "This is a test",   "main": "index.js",   "dependencies": {},   "devDependencies": {     "@symfony/webpack-encore": "^0.15.0"   },   "scripts": {     "test": "echo \"Error: no test specified\" && exit 1"   },   "author": "Alex",     "license": "MIT" } 

I run encore from /var/www/project using this

/usr/local/bin/encore dev

I get this lovely output in return:

Running webpack ...    TypeError: Cannot read property 'match' of undefined    - index.js:125 parse     [lib]/[webpack-encore]/[yargs-parser]/index.js:125:12    - index.js:761 Function.Parser.detailed     [lib]/[webpack-encore]/[yargs-parser]/index.js:761:10    - yargs.js:938 Object.Yargs.self._parseArgs     [lib]/[webpack-encore]/[yargs]/yargs.js:938:27    - yargs.js:927 Object.get [as argv]     [lib]/[webpack-encore]/[yargs]/yargs.js:927:19    - index.js:725 Object.configureRuntimeEnvironment     [lib]/[@symfony]/webpack-encore/index.js:725:54    - index.js:770 Proxy.parameters     [lib]/[@symfony]/webpack-encore/index.js:770:45    - webpack.config.js:3 Object.<anonymous>     /var/www/project/webpack.config.js:3:8    - module.js:573 Module._compile     module.js:573:30    - module.js:584 Object.Module._extensions..js     module.js:584:10    - module.js:507 Module.load     module.js:507:32 

What am I missing?

like image 487
Alex.Barylski Avatar asked Sep 21 '17 20:09

Alex.Barylski


People also ask

Can not read property match of undefined?

While not a root-cause solution, a workaround is: Delete node_modules and package-lock.

What is Package-lock JSON?

package-lock. json is automatically generated for any operations where npm modifies either the node_modules tree, or package. json . It describes the exact tree that was generated, such that subsequent installs are able to generate identical trees, regardless of intermediate dependency updates.


1 Answers

Simple answer just run

rm -rf package-lock.json 
like image 148
David S Lee Avatar answered Oct 14 '22 21:10

David S Lee