javascript - 每次安装 npm 都会发生此错误:“npm ERR!无法读取未定义的属性 'resolve'。”
问题描述
介绍
大家好!
我在一个双启动系统上,其中 Node、NPM 等在 Windows 7 中运行良好,但由于 Win7 已经停止启动 - 可能是由于硬件问题 - 这离开了 Windows 10。
每次我尝试使用 npm install(或某些变体,如 npm i -g)时,都会收到至少类似于下面列出的错误。这使我无法使用 npm i 获取最新的 npm。
我已经尝试查找和删除 package.json,但我不确定要删除哪个package.json。C:\users\\ 中有一个,但已被删除。从我的节点或 npm 目录中移动或删除 node_modules 并没有解决问题。
我已尝试在 Internet 上查看此问题的各种解决方案,包括安装最新的 NodeJS。
版本
通过 node -v 和 npm -v 获得。
节点:10.16
NPM:6.9
这是运行 npm i -g npm 时显示的日志。
0 info it worked if it ends with ok
1 verbose cli [ 'F:\\NodeJS\\node.exe',
1 verbose cli 'F:\\NodeJS\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'i',
1 verbose cli 'npm',
1 verbose cli '-g' ]
2 info using npm@6.9.0
3 info using node@v10.16.0
4 verbose npm-session c2c7a7280bf360c8
5 silly install loadCurrentTree
6 silly install readGlobalPackageData
7 silly fetchPackageMetaData error for npm@latest Cannot read property 'resolve' of undefined
8 timing stage:rollbackFailedOptional Completed in 1ms
9 timing stage:runTopLevelLifecycles Completed in 32ms
10 verbose stack TypeError: Cannot read property 'resolve' of undefined
10 verbose stack at regFetch (F:\NodeJS\node_modules\npm\node_modules\npm-registry-fetch\index.js:76:23)
10 verbose stack at fetchPackument (F:\NodeJS\node_modules\npm\node_modules\pacote\lib\fetchers\registry\packument.js:42:10)
10 verbose stack at packument (F:\NodeJS\node_modules\npm\node_modules\pacote\lib\fetchers\registry\packument.js:20:10)
10 verbose stack at getManifest (F:\NodeJS\node_modules\npm\node_modules\pacote\lib\fetchers\registry\manifest.js:22:10)
10 verbose stack at manifest (F:\NodeJS\node_modules\npm\node_modules\pacote\lib\fetchers\registry\manifest.js:13:10)
10 verbose stack at Object.manifest (F:\NodeJS\node_modules\npm\node_modules\pacote\lib\fetchers\registry\index.js:17:12)
10 verbose stack at Object.Fetcher#manifest [as manifest] (F:\NodeJS\node_modules\npm\node_modules\genfun\lib\genfun.js:15:38)
10 verbose stack at manifest (F:\NodeJS\node_modules\npm\node_modules\pacote\lib\fetch.js:23:18)
10 verbose stack at pinflight (F:\NodeJS\node_modules\npm\node_modules\pacote\manifest.js:24:12)
10 verbose stack at F:\NodeJS\node_modules\npm\node_modules\promise-inflight\inflight.js:29:24
10 verbose stack at Promise._execute (F:\NodeJS\node_modules\npm\node_modules\bluebird\js\release\debuggability.js:313:9)
10 verbose stack at Promise._resolveFromExecutor (F:\NodeJS\node_modules\npm\node_modules\bluebird\js\release\promise.js:483:18)
10 verbose stack at new Promise (F:\NodeJS\node_modules\npm\node_modules\bluebird\js\release\promise.js:79:10)
10 verbose stack at _inflight (F:\NodeJS\node_modules\npm\node_modules\promise-inflight\inflight.js:28:25)
10 verbose stack at F:\NodeJS\node_modules\npm\node_modules\promise-inflight\inflight.js:22:14
10 verbose stack at tryCatcher (F:\NodeJS\node_modules\npm\node_modules\bluebird\js\release\util.js:16:23)
11 verbose cwd C:\Users\Gec
12 verbose Windows_NT 10.0.17134
13 verbose argv "F:\\NodeJS\\node.exe" "F:\\NodeJS\\node_modules\\npm\\bin\\npm-cli.js" "i" "npm" "-g"
14 verbose node v10.16.0
15 verbose npm v6.9.0
16 error Cannot read property 'resolve' of undefined
17 verbose exit [ 1, true ]
解决方案
nodejs
我在10.16.0(Windows x64 版本)和npm
6.9.0上遇到了同样的问题。卸载并降级到nodejs
10.15.3 和npm
6.4.1后npm i
似乎再次正常工作。
推荐阅读
- c++ - 什么可能导致 resource.h 为 MFC 控件定义负值?
- rpm - 创建提供用户可编辑配置文件的 RPM
- c - 使用 cmake 在 clion 中包含 GLIB 时未定义的引用
- spring-cloud-dataflow - Scrape 的 Prometheus Deployer 属性
- java - 如何在 textInputEditText 中添加图像(X)并清除片段中的字段?
- java - java.net.http.HttpClient 需要关闭吗?
- docker - 在 kubernetes 中的部署显示在使用为训练图像创建的 docker 图像进行对象检测时回退重新启动失败的容器
- python - 使用 python 脚本缩放 .stl 文件
- node.js - JOI.validate() 不允许“dataValues”
- c# - 更改本机“选择图标”对话框窗口的语言?