Seems that you had installed globally only webpack and not webpack-cli.
Therefore, npm install -g webpack-cli solves the issue.
Explanation and alternative solutions:
Why there is the problem in the first place? The following indicates that both webpack and webpack-cli packages are locally installed:
I have the latest versions of webpack installed:
"webpack": "^4.0.0",
"webpack-cli": "^2.0.9"
Running webpack in your terminal cannot find your locally installed version (provided by webpack-cli since webpack-4).
That's because your locals executables folder aren't included in your shell PATH variable (list of directories in which the shell looks for commands). The path where npm install executables locally is ./node_modules/.bin (more info here).
Therefore, instead of try running just webpack you need to run:
./node_modules/.bin/webpack
Also, adding to your package.json a script which use just webpack works because npm adds local ./node_modules/.bin/ directory to the shell path before it executes scripts (see npm run).
"scripts": {
"build": "webpack"
}
Then, execute in your terminal: npm run build
In recap, I think the package.json script is the more clear and desirable way to go.