我的所有jest
typescript
测试都在我的travis
管道中失败,并抛出以下错误:
TypeError: Cannot assign to read only property 'Symbol(Symbol.toStringTag)' of object '#<process>'
这突然发生了,我没有更改代码中的任何特定内容。在本地,一切正常。
有什么想法会发生什么?
答案 0 :(得分:60)
这是节点v11.11附带的错误。您可以降级到v11.10或等待Facebook已经推送https://github.com/facebook/create-react-app/issues/6591
的修复如果您的问题与TravisCI有关,则可以设置一个有效的固定版本:
node_js:
- "11.10.1"
答案 1 :(得分:21)
您还可以将jest
的版本升级到24.3.0,此问题已解决。我相信,与降级您的节点相比,这是一种更可靠的解决方案。
答案 2 :(得分:4)
通过将节点升级到v11.12.0对我来说已解决
答案 3 :(得分:2)
对于无法通过以上任一答案解决问题的人,请尝试将您的笑话升级到^ 24.3.0并降级客户端容器的docker映像中的节点版本。我使用FROM node:11.10-alpine
时并没有降低TravisCI使用的节点版本。
答案 4 :(得分:1)
主要有两种解决方案
我知道降级节点版本不是一个好的解决方案,但是对于那些想运行测试的人来说,可以尝试一下。通过将其节点版本从11.11.1降级到11.10.1 安装程序包调用“ n”。 此n软件包可帮助您交互式管理Node.js版本
npm install -g n
安装后,您只需运行
sudo n 11.10.1
您的节点版本将被更改,您可以通过运行来检查节点版本
node --version
稍后可以在那里进行测试
npm test
对我有用 希望对您有所帮助:)
答案 5 :(得分:1)
如果您使用nvm(节点版本管理器),
const clickHandler = order =>{
switch(order):{
case 'asc': return this.setState({data : this.state.data.sort((a,b)=> a-b) })
case 'desc' : return this.setState({data : this.state.data.sort((a,b) => b-a)})
}
}
nvm install v11