EPERM错误在node.js中写入文件

我试图通过写入/sys/class/gpio文件夹来更新我的RaspberryPi上的GPIO,它是子文件夹和文件。

当我运行命令

 fs.readFileSync('/sys/class/gpio/gpio2/value', 'utf-8'); 

我得到正确的回应,没有问题。

当我跑步

 fs.writeFileSync('/sys/class/gpio/gpio2/value',0); 

我得到一个EPERM错误,如果我理解正确,告诉我,我没有正确的权限写入该文件。

在列出该文件的权限时,我看到root和gpio组都具有读写权限,而我当前的用户“pi”是gpio组的一部分。 所以一切都应该没问题。

如果我运行sudo节点,我应该有权限,但我仍然得到EPERM错误。

在我看来,'/ sys / class / gpio'是'/ sys / devices / gpio'的虚拟path,查看该文件夹的权限,gpio组也有权限,当然,根。

这是GPIO专用的吗? 我看到一些通过fs.writeFile启用gpio控制的节点模块,例如直接写入同一目录的https://github.com/EnotionZ/GpiO/blob/master/lib/gpio.js 。