不使用sudo时,macOS上的松露"Could not find a compiler version matching 0.8.2"错误



如果我不使用sudo,truffle compile会给我一个错误:truffle compile输出。

使用sudo不会出现错误:sudo truffle compile输出。

为什么会发生这种情况?

这是由于系统中Truffle的某些文件/目录的权限错误造成的。它们可能归root所有,Truffle不能在那里写作。简单地删除配置就可以解决问题:

sudo rm -rf ~/Library/Preferences/truffle-nodejs

或者,您可以使用chown来更改这些文件的所有权,但如果您从未手动修改过配置,那么删除它会更简单,Truffle会为您重新创建它,并在需要时重新下载编译器二进制文件。

这是最近许多用户在Can't compile solc version"0.8.9〃#4431,但似乎并不是松露本身的一个bug。不知道为什么它如此广泛——是一些流行的教程告诉人们用sudo或其他什么来运行Truffle吗?如果您这样做,Truffle将创建一些文件作为root,并且除非您继续使用sudo运行,否则无法覆盖它们或创建新文件。

相关内容

最新更新