我已经使用npm安装了webpack (Symfony encore),如下所示:
sudo npm install -g @symfony/webpack-encore --save-dev
这是我在/var/www/project上运行的
在处理Windows主机/ Linux来宾时,由于包管理器和共享文件夹的问题,我被要求全局安装。
无法将webpack (node_modules)安装在与/var/www/project相同的目录(或其下
所以我的package.json文件看起来像这样:
{
"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"
}我使用下面的代码从/var/www/project运行安可
/usr/local/bin/encore dev
我得到了这个可爱的输出作为回报:
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我遗漏了什么?
发布于 2018-08-16 10:28:01
简单的答案就是运行
rm -rf package-lock.json发布于 2019-02-19 21:18:20
尝试删除package-lock.json和node_modules文件夹,然后运行npm install或yarn install
发布于 2019-02-20 20:58:49
出现此消息的另一个原因可能是生成package-lock.json的npm主版本与运行npm install的版本不匹配。
例如,如果锁文件是使用npm@5生成的,稍后您尝试在npm@6上使用npm install,假设是一个较小的node@8更新,您将看到此错误。
这里的解决方案就像在其他答案中提到的那样,在npm@6上再次删除node_modules和package-lock.json和npm install。或者留在npm@5上进行锁定文件和以后的安装。
https://stackoverflow.com/questions/46352394
复制相似问题