(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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 Object.entries()使用 Object.entries() Uncaught (in promise) TypeError: Object(...) is not a function TypeError $(...).lazyload is not a function 解决方法 js 对象与数组相互转化的快捷方法 Object.keys()、Object.values()、Object.entries() axios在IE9环境下报错Unhandled promise rejection TypeError: 无法获取未定义或 null 引用的属性“result“ Python中TypeError: 'str' object is not callable解决方法 Angular2 - Unhandled Promise rejection: Cannot assign to a reference or variable! ; Zone: ; Task: Promise.then ; Value: Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法 jquery中Uncaught TypeError: $(...).ajaxUpload is not a function(…)错误解决方法
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM