“npm ci”抛出异常:无法读取未定义的属性“长度”

2023-11-25

我在本地环境和 CircleCI 中都遇到了这个异常。

> [email protected] postinstall /home/vallo/project/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

npm ERR! Cannot read property 'length' of undefined
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/vallo/.npm/_logs/2020-01-16T20_12_00_564Z-debug.log

/home/vallo/.npm/_logs/2020-01-16T20_12_00_564Z-debug.log最后几行:

11424信息生命周期@babel/[电子邮件受保护]~安装后:@babel/[电子邮件受保护]

第11425章 信息生命周期未定义@未定义~安装:未定义@未定义

11426 详细堆栈类型错误:无法读取未定义的属性“长度”

11426 _in CorrectWorkingDirectory 处的详细堆栈 (/home/vallo/.nvm/versions/node/v12.14.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:114:60)

11426 详细堆栈位于 /home/vallo/.nvm/versions/node/v12.14.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:86:44

11426 详细堆栈位于 /home/vallo/.nvm/versions/node/v12.14.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:218:12

11426 回调时的详细堆栈 (/home/vallo/.nvm/versions/node/v12.14.0/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:295:20)

11426 FSReqCallback.oncomplete 处的详细堆栈 (fs.js:159:5)

11427 详细 cwd /home/vallo/project

11428 详细 Linux 5.3.0-26-generic

第11429章 详细argv“/home/vallo/.nvm/versions/node/v12.14.0/bin/node”“/home/vallo/.nvm/versions/node/v12.14.0/bin/npm”“ci”

11430 详细节点 v12.14.0

11431 详细 npm v6.13.6

11432 错误 无法读取未定义的属性“长度”

11433 详细退出 [ 1, true ]

这是我的 package.json:

{
  "private": true,
  "scripts": {
    "install": "npx babel-node scripts/npm/install.js",
    "test": "npx babel-node scripts/npm/test.js",
    "lambda-test": "lambda/serverUnit.sh",
    "lint": "node_modules/.bin/eslint .",
    "flow": "flow; test $? -eq 0 -o $? -eq 2"
  },
  "devDependencies": {
    "@babel/cli": "^7.4.4",
    "@babel/core": "^7.4.4",
    "@babel/node": "^7.2.2",
    "@babel/plugin-proposal-object-rest-spread": "^7.5.5",
    "@babel/plugin-transform-modules-commonjs": "^7.4.4",
    "@babel/plugin-transform-runtime": "^7.4.4",
    "@babel/polyfill": "^7.4.4",
    "@babel/preset-env": "^7.4.4",
    "@babel/preset-flow": "^7.0.0",
    "@babel/register": "^7.4.4",
    "@sanjo/jasmine-expect": "^1.0.1",
    "@sanjo/jasmine-spy": "^1.0.1",
    "@share911/babel-plugin-root-slash-import": "^1.2.0",
    "aws-sdk": "^2.521.0",
    "babel-eslint": "^10.0.3",
    "babel-loader": "^8.0.5",
    "babel-plugin-meteor-imports": "^1.0.3",
    "babelify": "^10.0.0",
    "browserify": "^16.2.3",
    "chai": "^4.2.0",
    "commander": "2.9.0",
    "eslint": "^6.3.0",
    "eslint-config-standard": "^14.1.0",
    "eslint-plugin-flowtype": "^4.3.0",
    "eslint-plugin-import": "^2.18.2",
    "eslint-plugin-node": "^10.0.0",
    "eslint-plugin-promise": "^4.2.1",
    "eslint-plugin-react": "^7.14.3",
    "eslint-plugin-standard": "^4.0.1",
    "flow-bin": "^0.106.3",
    "jsdom": "^15.1.1",
    "jsdom-global": "^3.0.2",
    "json-loader": "^0.5.4",
    "karma": "^4.1.0",
    "karma-browserify": "^6.0.0",
    "karma-chrome-launcher": "^2.2.0",
    "karma-mocha": "^1.3.0",
    "meteor": "./modules/meteor/",
    "meteor-promise": "^0.8.0",
    "mocha": "^6.1.4",
    "phantomjs-prebuilt": "^2.1.15",
    "proxyquire": "^1.7.10",
    "proxyquireify": "^3.2.0",
    "serverless": "^1.51.0",
    "sinon": "^7.3.2",
    "standard": "^12.0.1",
    "tingodb": "^0.6.1",
    "wallabify": "0.0.14",
    "watchify": "^3.11.1",
    "webpack": "^4.30.0",
    "webpack-node-externals": "^1.7.2"
  },
  "dependencies": {
    "@babel/runtime": "^7.4.5",
    "aws-xray-sdk-core": "^2.3.5",
    "chai-as-promised": "^7.1.1",
    "json-to-pretty-yaml": "^1.2.2",
    "obj-resolve": "^1.0.4",
    "winston": "^3.2.1"
  }
}

我正在运行节点 12.14.0 和 npm 6.13.6


问题出在功能上_incorrectWorkingDirectory from npm-lifecycle,它不检查是否pkg.name为 null 因此会引发异常。

要解决此问题,请将“name”属性添加到package.json.

https://github.com/npm/npm-lifecycle/blob/latest/index.js#L114

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“npm ci”抛出异常:无法读取未定义的属性“长度” 的相关文章

随机推荐

  • 更改 Azure 数据库端口

    是否可以更改天蓝色服务器使用的端口 我目前只看到添加可用于访问服务器的 IP 地址的功能 或者防火墙是否需要允许端口 1433 出站流量 假设您指的是 SQL 数据库服务及其关联的防火墙 则否 您只能将 IP 地址添加到防火墙以进行访问 无
  • set -- “$@” “$i” 在 Bash 中是什么意思?

    The set以下循环中的命令让我感到困惑 for i in do set i what does it mean done 我能够了解 是所有位置参数 并且 i是位置参数之一 但是 我不明白什么 set i means 它附加了值 i到位
  • 从视频url获取视频缩略图

    是否可以从视频 URL 中获取缩略图 我需要列表视图中的视频缩略图 是的 可以使用 ThumbnailUtils 获取视频的缩略图 FileOutputStream out File land new File Environment ge
  • Mapstruct LocalDateTime 到 Instant

    我是 Mapstruct 的新手 我有一个模型对象 其中包括LocalDateTime类型字段 DTO 包括Instant类型字段 我想要地图LocalDateTime将字段键入Instant类型字段 我有TimeZone传入请求的实例 像
  • 使用 javamail 的 IMAP 访问邮件 Office 365

    我正在尝试使用 JavaMail 1 4 api 读取电子邮件帐户 Office365 的文件夹中的电子邮件 我的代码是 public static void main String argv throws Exception Get a
  • FFMPEG:如何以高关键帧间隔对可搜索视频进行编码

    我正在寻找一个 ffmpeg 命令 如果我在 requestAnimationFrame 上控制视频以进行鼠标控制 则该命令最适合使用 基本上 它需要快速搜索并以高关键帧间隔进行编码 我似乎无法确定哪些参数有助于快速搜索和高关键帧 谢谢 约
  • GCD 和线程过多的问题

    我有一个图像加载器类 它提供 NSURL 加载和来自网络的图像并执行完成块 代码其实很简单 void downloadImageWithURL NSString URLString completion BELoadImageComplet
  • 解析 NSURL 查询属性

    我有一个像这样的网址myApp action 1 parameter 2 secondparameter 3 通过属性查询 我得到了以下部分URL parameter 2 secondparameter 3 有什么方法可以轻松地将其放入NS
  • 如何向一个号码发送多条短信

    我想通过使用复选框选择发送多条短信 仅选定的短信内容 即它们的正文需要发送新的消息正文到我预定义的 121 但下面的代码 无论我是否选择 否 121 它都会发送完整的收件箱消息 主要活动代码 public class MainActivit
  • Tomcat如何处理多个请求

    我知道创建网络应用程序 但我有一个基本的疑问 我很抱歉问了非常愚蠢的问题 但想消除我的疑虑 Tomcat容器如何处理请求 我的意思是当我发送请求时home jsp页面然后我得到的响应为home jsp仅页面而不是注册 jsp该页面同时可能是
  • 每当视图寻呼机中的选项卡发生更改时如何更新列表

    在我的应用程序中 我使用视图寻呼机来使用导航选项卡 我已经能够使用发布的代码成功绘制选项卡 https github com codepath android guides wiki Sliding Tabs with PagerSlidi
  • Gson 和抽象超类:反序列化问题

    假设有一个abstract类 说A 以及两个非抽象子类 例如A1 and A2 我想使用 json 格式 反序列化 它们GSON库 例如 我得到一个数组A对象 int n A list new A n A 0 new A1 A 1 new
  • 使用 CLI 通过 HTTPS 运行 Flask 开发服务器

    我正在尝试使用 HTTPS 来提供 Flask 应用程序flask命令 我可以使用以下方法来做到这一点app run通过通过ssl context争论 但我不知道如何在 CLI 上执行此操作 flask run host 0 0 0 0 p
  • 如果多个线程同时修改 NSMutableArray 会发生什么? (如果它包含的对象保留在其他地方)

    我有一个包含许多对象的 NSMutableArray 如果在我使用 NSMutableArray array With Array some Array 复制数组时对数组进行更改 会发生什么情况 例如 如果在复制时从数组中删除一个对象 我不
  • AngularJS limitTo 过滤对象上的 ngRepeat(像字典一样使用)

    是否可以使用limitTo过滤在ngRepeat指令重复对象的属性而不是数组中的项目 我知道官方文档说输入limitTo需要是数组或字符串 但想知道是否有办法让它发挥作用 这是示例代码 li li And scope phones dict
  • jQuery UI 自动完成文本框中的多个值

    我需要一种简单的自动完成搜索功能 但也允许用户输入多个值 我正在使用 jQuery UI 的自动完成小部件 http jqueryui com autocomplete 到目前为止 我已将源设置为仅搜索建议中的第一个字母 我现在想添加的是用
  • 如何获取 FxCop 中 callvirt IL 指令实际调用的方法

    我仍在努力让我的 FxCop 规则发挥作用 作为其中的一部分 我需要弄清楚方法调用哪些方法 以前我用的是CallGraph CallersFor 相反地做 无论如何这是我的最终目标 但是它似乎有我下面描述的相同问题 作为使用的替代方案Cal
  • 如何在asp.net中使用__doPostBack函数

    我正在尝试使用 doPostBack函数 这样我就可以强制我的页面在页面加载时进行后包 但我在理解上遇到一些困难 当我在网上查看示例时 单击按钮时 我想发回帖子 但不确定如何完成后面代码中的代码 这是我到目前为止所拥有的 这是我的按钮
  • 0x80040154 的 COMException 是否总是“类未注册”?

    0x80040154 的 System Runtime InteropServices COMException 是否始终意味着该类未注册 我收到一个 COMException 其中显示 由于以下错误 检索具有 CLSID 29131539
  • “npm ci”抛出异常:无法读取未定义的属性“长度”

    我在本地环境和 CircleCI 中都遇到了这个异常 gt email protected postinstall home vallo project node modules core js gt node e try require