【问题标题】:Used g npm install npm@latest -g to update Node Package Manager and getting error使用 g npm install npm@latest -g 更新节点包管理器并出现错误
【发布时间】:2018-11-03 01:16:13
【问题描述】:

我试图在终端中使用 g npm install npm@latest -g 更新我的节点包管理器,但是当我尝试使用 npm --version 或 npm -v 甚至 npm install 检查它是否已更新时,我得到了以下错误:

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:387:25)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:139:18)
at node.js:999:3

我的 NPM 版本为 5.0.3,现在我无法运行任何 npm 命令。有人可以通过卸载此最新版本或任何使此版本正常工作的方法来帮助我纠正此错误。

【问题讨论】:

  • 你的 Node 版本是多少?我认为你需要提高它。
  • 为什么不重新安装 Node 和 NPM?你在什么系统上?会推荐 node version manager 以保持最新的节点版本。
  • @TomCon 我的系统是 Mac OS High Sierra,我的节点管理器是 5.0.3。我不知道我目前的版本是什么,因为现在每当我运行 npm --version 时,都会出现上面的错误。
  • @ytpillai 我的系统是 Mac OS High Sierra,我的节点管理器是 5.0.3。我不知道我目前的版本是什么,因为现在每当我运行 npm --version 时,都会出现上面的错误。
  • @StephanieCray 是的,我就是这么想的。有一种新的 Javascript 风格称为 ES6(及更高版本),它使用您的 Node 版本中没有的某些关键字。新的 NPM 使用这些关键字,但旧版本的 Node 无法解释它们。最好的选择是卸载并获取最新版本。

标签: node.js npm npm-install


【解决方案1】:

Block-scoped declarations not yet supported outside strict mode - Laravel Mix,查看这个 StackOverflow 答案。解决方案几乎是更新 Node,但我会解释原因。有一种新的 Javascript 风格称为 ES6(及更高版本),它使用您的 Node 版本中没有的某些关键字。新的 NPM 使用这些关键字,但旧版本的 Node 无法解释它们。最好的选择是卸载并获取最新版本。

【讨论】:

    猜你喜欢
    • 2019-05-16
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    相关资源
    最近更新 更多