node.js - npm 错误!无法读取未定义的属性“0”
问题描述
λ npm i
npm ERR! Cannot read property '0' of undefined
我检查了所有类似的问题,例如这个问题以及更多问题。到目前为止,我已经尝试过:
- 删除
node_modules
文件夹package-lock.json
,然后npm i
- 在步骤 1 中重复删除文件夹和文件 + 清除缓存
npm cache clear --force
nvm uninstall 10.13.0
, 重新安装版本- 卸载 nvm 并重新安装 nvm
在这期间,我重新启动了我的电脑几次。由于我正在处理公司项目,因此无法降级我的 Node 版本。
这是我的 NPM 日志:
3782 silly saveTree `-- websocket@1.0.29 3783 verbose stack TypeError:
Cannot read property '0' of undefined 3783 verbose stack at
rmStuff (C:\tools\nvm\v10.13.0\node_modules\npm\lib\unbuild.js:61:24)
3783 verbose stack at tryCatcher
(C:\tools\nvm\v10.13.0\node_modules\npm\node_modules\bluebird\js\release\util.js:16:23)
3783 verbose stack at ret (eval at makeNodePromisifiedEval
(C:\tools\nvm\v10.13.0\node_modules\npm\node_modules\bluebird\js\release\promisify.js:184:12),
<anonymous>:13:39) 3783 verbose stack at lifecycle.then.then
(C:\tools\nvm\v10.13.0\node_modules\npm\lib\install\action\unbuild.js:12:12)
3783 verbose stack at tryCatcher
(C:\tools\nvm\v10.13.0\node_modules\npm\node_modules\bluebird\js\release\util.js:16:23)
3783 verbose stack at Promise._settlePromiseFromHandler
(C:\tools\nvm\v10.13.0\node_modules\npm\node_modules\bluebird\js\release\promise.js:512:31)
3783 verbose stack at Promise._settlePromise
(C:\tools\nvm\v10.13.0\node_modules\npm\node_modules\bluebird\js\release\promise.js:569:18)
3783 verbose stack at Promise._settlePromise0
(C:\tools\nvm\v10.13.0\node_modules\npm\node_modules\bluebird\js\release\promise.js:614:10)
3783 verbose stack at Promise._settlePromises
(C:\tools\nvm\v10.13.0\node_modules\npm\node_modules\bluebird\js\release\promise.js:693:18)
3783 verbose stack at Promise._fulfill
(C:\tools\nvm\v10.13.0\node_modules\npm\node_modules\bluebird\js\release\promise.js:638:18)
3783 verbose stack at
C:\tools\nvm\v10.13.0\node_modules\npm\node_modules\bluebird\js\release\nodeback.js:42:21
3784 verbose cwd C:\src\agl-bot-alfie\botkit 3785 verbose Windows_NT
10.0.17134 3786 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "i"
3787 verbose node v10.13.0 3788 verbose npm v6.4.1 3789 error Cannot
read property '0' of undefined 3790 verbose exit [ 1, true ]
解决方案
使用正确版本的 npm 和 node。您可以使用nvm
https://github.com/nvm-sh/nvm
检查 package.json 值。例如:
"engines": {
"node": "~6.17.1",
"npm": ">=5.0.0"
}
推荐阅读
- javascript - 如何在 nativesript radlistview 中使用 scrollToIndex
- java - 在 Java 类中映射嵌套的 JSON 值
- python - 如何使用 Python Selenium 在网站上滚动内部滚动条?
- python - 更快地优化 for 循环
- javascript - Angular 和 Stripe 订阅保存付款细节并创建订阅
- typescript - Typeguard 不会缩小类型
- mysql - 使用连接查找最大值的 SQL 查询
- python - 有没有更快的方法将熊猫数据框分成两个互补的部分?
- javascript - 我们可以比较javascript运行时中的数据类型吗
- swift - 如何在 swift struct/class 类型中支持这种初始化?