菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
181
0

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

原创
05/13 14:22
阅读数 67519

在 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

发表评论

0/200
181 点赞
0 评论
收藏