我正在使用npm install并验证包json是否有效,并且收到以下错误:
在网络上阅读后,我做了"rm -f package-lock.json && npm install"
(即使我没有看到那里的任何包裹锁)
并确实提供了帮助的npm cache clean -f
,还配置了注册表
请参阅Can't install any package with node npm
我使用最新的npm 6.2.0
日志中的错误为。
159 silly saveTree ├── express@4.16.3
159 silly saveTree ├── passport-http@0.3.0
159 silly saveTree └── passport@0.3.2
160 verbose stack SyntaxError: Unexpected token < in JSON at position 0 while parsing near '<html>
160 verbose stack <head><title>...'
160 verbose stack at JSON.parse (<anonymous>)
160 verbose stack at parseJson (/usr/local/lib/node_modules/npm/node_modules/json-parse-better-errors/index.js:7:17)
160 verbose stack at consumeBody.call.then.buffer (/usr/local/lib/node_modules/npm/node_modules/node-fetch-npm/src/body.js:96:50)
160 verbose stack at <anonymous>
160 verbose stack at process._tickCallback (internal/process/next_tick.js:188:7)
还有什么我可以做的吗?因为目前我被卡住了,所以任何想法都会有所帮助:(
答案 0 :(得分:2)
执行以下操作:
删除node_modules
文件夹。
删除package-lock.json
文件。
再次运行npm install
。
答案 1 :(得分:1)
您的package.json或其他json文件不正确,您必须首先修复JSON错误。
答案 2 :(得分:0)
这对我有用:
rm -rf node_modules
rm package-lock.json
npm cache verify
npm install
答案 3 :(得分:0)
删除节点模块和程序包锁定JSON文件可以在很多情况下解决此问题。
这些是要遵循的步骤:
删除node_modules
文件夹。
删除package-lock.json
文件。
验证缓存
再次运行npm install
。
让我们使用 rimraf
全局安装rimraf
npm安装rimraf -g
删除节点模块
rm -rf node_modules
删除package-lock.json
rimraf package-lock.json
验证缓存
npm缓存验证
重新安装模块
npm安装
答案 4 :(得分:0)
适用于已删除 node_modules
并在 npm install
之后遇到错误的人。
如果您在 package.json
下有这样的预安装脚本,这也可能是一个问题:
"scripts": {
"preinstall": "npx npm-force-resolutions",
....
由于 npm-force-resolutions
寻找要解析的 node_modules。要修复它,只需注释预安装脚本,运行 npm install
,然后恢复注释并再次运行 npm install
以保持验证。