1.具体现象如下如:
2.解决办法:删除node_modules包, package-lock.json 文件后重新安装。
3.如果你只想解决以上问题,看到这里就够了。
4.出现的原因:项目之前安装过node_modules包,后来再次安装时出现此错误,分析原因为前后两次安装的时候包的来源不同。
第二次安装的时候npm config被我修改过,修改为了淘宝源。
网上解决这个问题的资料较少,并且我试了几个,对我不起作用,后来思考我们每次安装包的时候本地会生成一个package-lock.json文件,而此文件也会再我们独立安装某一个包的时候会修改,可能这个包保存了一些信息。打开一看,果然如此:
"acorn": {
"version": "5.7.4",
"resolved": "https://registry./acorn/download/acorn-5.7.4.tgz?cache=0&sync_timestamp=1597235845861&other_urls=https%3A%2F%2Fregistry.%2Facorn%2Fdownload%2Facorn-5.7.4.tgz",
"integrity": "sha1-Po2KmUfQWZoXltECJddDL0pKz14=",
"dev": true
},
"acorn-dynamic-import": {
"version": "2.0.2",
"resolved": "https://registry./acorn-dynamic-import/download/acorn-dynamic-import-2.0.2.tgz",
"integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
"dev": true,
"requires": {
"acorn": "^4.0.3"
},
"dependencies": {
"acorn": {
"version": "4.0.13",
"resolved": "https://registry./acorn/download/acorn-4.0.13.tgz?cache=0&sync_timestamp=1597235845861&other_urls=https%3A%2F%2Fregistry.%2Facorn%2Fdownload%2Facorn-4.0.13.tgz",
"integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
"dev": true
}
}
}
以上截取一部分数据:此内容描述项目及项目所依赖的模块信息。
不同源的这个信息是不一样的,所以,删除这个信息,重新安装的时候会重新生成,且不会再出现上面的错误了。