(node:18692) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): TypeError: Object.entries is not a function 的解决方法

在 Vue.JS 项目中执行 npm run build 没想到出现了这个错误

(node:18692) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): TypeError: Object.entries is not a function

既没告诉我哪一行的错误,也找不到相关有用信息。而通过npm run dev 却可以正常编译。

谷歌搜索后发现可以通过升级 Node.JS 从 6 到 12 来解决。

通过 node -v 一看果然我服务器上的就是 node 6 的版本,因此通过以下操作:

为 CentOS 系统上的包管理工具 yum 添加 NodeSource 的仓库

curl -sL https://rpm.nodesource.com/setup_12.x | bash -

接下来,我们删除旧版本的 Node

sudo yum remove -y nodejs npm

然后安装新版本的 Node

sudo yum install nodejs

安装太慢了?

如果服务器在国内,安装速度有可能很慢。雪上加霜的是,最近中国的 nodesource 源都不可用了,如 清华 tuna 镜像:

没关系,这里提供一个方法:比如本地下载比较快,可以先把此时日志中的 rpm 地址(如 https://rpm.nodesource.com/pub_12.x/el/7/x86_64/nodejs-12.20.2-1nodesource.x86_64.rpm)拷贝下来放在地址栏打开,然后就会下载到本地。接着把这个 rpm 文件(下面用xx.rpm 代指)传到服务器:

sftp root@x.x.x.x
> put /xx/xxx/xx.rpm

然后在服务器上 xx.rpm 所在地址执行:

rpm -vih xx.rpm

即可。

检查新版本

node -v
npm -v

┆凉┆暖┆降┆等┆幸┆我┆我┆里┆将┆ ┆可┆有┆谦┆戮┆那┆ ┆大┆始┆ ┆然┆
┆薄┆一┆临┆你┆的┆还┆没┆ ┆来┆ ┆是┆来┆逊┆没┆些┆ ┆雁┆终┆ ┆而┆
┆ ┆暖┆ ┆如┆地┆站┆有┆ ┆也┆ ┆我┆ ┆的┆有┆精┆ ┆也┆没┆ ┆你┆
┆ ┆这┆ ┆试┆方┆在┆逃┆ ┆会┆ ┆在┆ ┆清┆来┆准┆ ┆没┆有┆ ┆没┆
┆ ┆生┆ ┆探┆ ┆最┆避┆ ┆在┆ ┆这┆ ┆晨┆ ┆的┆ ┆有┆来┆ ┆有┆
┆ ┆之┆ ┆般┆ ┆不┆ ┆ ┆这┆ ┆里┆ ┆没┆ ┆杀┆ ┆来┆ ┆ ┆来┆
posted @ 2021-02-15 20:41  水郁  阅读(445)  评论(0编辑  收藏  举报
……