代码之家  ›  专栏  ›  技术社区  ›  amitairos

npm过期错误无法读取未定义的属性“length”

  •  1
  • amitairos  · 技术社区  · 7 年前

    我尝试在我的节点项目中从控制台运行“npm过时”。但我有个错误:

    npm ERR! Cannot read property 'length' of undefined
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     C:\Users\User\AppData\Roaming\npm-cache\_logs\2019-03-31T12_26_30_745Z-debug.log
    

    这是日志中的错误:

    199 verbose stack TypeError: Cannot read property 'length' of undefined
    199 verbose stack     at dotindex (C:\Users\amita\AppData\Roaming\npm\node_modules\npm\node_modules\text-table\index.js:59:32)
    199 verbose stack     at C:\Users\amita\AppData\Roaming\npm\node_modules\npm\node_modules\text-table\index.js:11:21
    199 verbose stack     at Array.forEach (<anonymous>)
    199 verbose stack     at forEach (C:\Users\amita\AppData\Roaming\npm\node_modules\npm\node_modules\text-table\index.js:73:31)
    199 verbose stack     at C:\Users\amita\AppData\Roaming\npm\node_modules\npm\node_modules\text-table\index.js:10:9
    199 verbose stack     at Array.reduce (<anonymous>)
    199 verbose stack     at reduce (C:\Users\amita\AppData\Roaming\npm\node_modules\npm\node_modules\text-table\index.js:63:30)
    199 verbose stack     at module.exports (C:\Users\amita\AppData\Roaming\npm\node_modules\npm\node_modules\text-table\index.js:9:20)
    199 verbose stack     at C:\Users\amita\AppData\Roaming\npm\node_modules\npm\lib\outdated.js:130:16
    199 verbose stack     at cb (C:\Users\amita\AppData\Roaming\npm\node_modules\npm\node_modules\slide\lib\async-map.js:47:24)
    199 verbose stack     at outdated_ (C:\Users\amita\AppData\Roaming\npm\node_modules\npm\lib\outdated.js:221:12)
    199 verbose stack     at skip (C:\Users\amita\AppData\Roaming\npm\node_modules\npm\lib\outdated.js:343:5)
    199 verbose stack     at updateDeps (C:\Users\amita\AppData\Roaming\npm\node_modules\npm\lib\outdated.js:446:7)
    199 verbose stack     at tryCatcher (C:\Users\amita\AppData\Roaming\npm\node_modules\npm\node_modules\bluebird\js\release\util.js:16:23)
    199 verbose stack     at Promise.successAdapter [as _fulfillmentHandler0] (C:\Users\amita\AppData\Roaming\npm\node_modules\npm\node_modules\bluebird\js\release\nodeify.js:23:30)
    199 verbose stack     at Promise._settlePromise (C:\Users\amita\AppData\Roaming\npm\node_modules\npm\node_modules\bluebird\js\release\promise.js:566:21)
    200 verbose cwd C:\Users\amita\Ionic\toratlechima
    201 verbose Windows_NT 10.0.17134
    202 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\amita\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "outdated"
    203 verbose node v10.11.0
    204 verbose npm  v6.9.0
    205 error Cannot read property 'length' of undefined
    206 verbose exit [ 1, true ]
    

    有人遇到这个吗?

    0 回复  |  直到 7 年前
        1
  •  17
  •   Snæbjørn    7 年前

    似乎在下一个版本中已经修复,但还没有发布。

    https://github.com/npm/cli/pull/173

    npm -g i npm@next

    更新

    NPM 6.9.2出局

    npm install -g npm

        2
  •  13
  •   Pavel Kovalev    7 年前

    1. 去你的 npm /usr/local/lib/node_modules )找到一个 outdated.js 文件(即。 /usr/local/lib/node_modules/npm/lib/outdated.js 对于 C:\Users\YOUR_USER_NAME\AppData\Roaming\npm\node_modules\npm\lib\outdated.js 对于 )
    2. makePretty 和改变

      deppath
      

      deppath || 'global'
      

    对我来说是152号线

        3
  •  1
  •   Antoine Errorpro    7 年前

    你也可以试试 npm upgrade -g . 为我工作。

        4
  •  0
  •   Jason    6 年前

    下面是我如何在检查过时的.js文件中的“global”后成功修复错误的方法。 如brew等(在终端中键入这些命令):

    1. sudo npm cache clean -f
    2. sudo npm install -g n 安装
    3. sudo n stable 升级至当前稳定版本
    4. npm upgrade -g 升级npm

    请注意 sudo

    推荐文章