环境: linux node 16.20.2(docker 镜像编译)
发现npm install后 生成的 package-lock.json ,包名前面会增加node_modules ,例如下所示:
"node_modules/@akryum/winattr": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/@akryum/winattr/-/winattr-3.0.0.tgz",
"integrity": "sha512-t4WmWoGV9gyzypwG3y3JlcK2t8fKLtvzBA7xEoFTj9SMPvOuLsf13uh4ikK0RRaaa9RPPWLgFUdOyIRaQvCpwQ==",
"requires": {
"fswin": "^2.17.1227"
}
}
不是应该是 "@akryum/winattr" 而不是 "node_modules/@akryum/winattr" ?有熟悉的同学吗?
不是应该是 "@akryum/winattr" 而不是 "node_modules/@akryum/winattr" ?有熟悉的同学吗?
这是 npm 7 及以上版本的一个新特性。npm 7 引入了一个新的 package-lock.json 格式,其中包含了 node_modules 前缀。这个变化的目的是为了更好地表示依赖关系的层次结构和路径。
如果希望恢复到旧的格式,可以用以下两种方法:
1.降级 npm 版本: 使用 npm 6 或更低版本。
2.配置 npm: 在项目的根目录下创建一个 .npmrc 文件,并添加以下内容: