篇首语:本文由小编为大家整理,主要介绍了获取错误EBUSY:资源繁忙或已锁定相关的知识,希望对你有一定的参考价值。
尝试运行Nodejs应用程序来测试Raspberry 3 B + Gpio Onoff模块但是当我试图运行应用程序时遇到此错误
fs.js:114throw err;Error: EBUSY: resource busy or locked, writeat Object.writeSync (fs.js:568:3)at Object.writeFileSync (fs.js:1199:26)at new Gpio (/home/pi/Desktop/pitesting/node_modules/onoff/onoff.js:96:10)at Object. (/home/pi/Desktop/pitesting/blink.js:3:7)at Module._compile (internal/modules/cjs/loader.js:701:30)at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)at Module.load (internal/modules/cjs/loader.js:600:32)at tryModuleLoad (internal/modules/cjs/loader.js:539:12)at Function.Module._load (internal/modules/cjs/loader.js:531:3)at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
这是我的应用程序代码
var onoff = require("onoff");var Gpio = onoff.Gpio, led = new Gpio(4, "out"), interval;interval = setInterval(function () { var value = (led.readSync() + 1) % 2; led.write(value, function () { console.log("Changed LED state to: " + value); });}, 2000);process.on("SIGINT", function () { clearInterval(interval); led.writeSync(0); led.unexport(); console.log("Bye, bye!"); process.exit();});
已经尝试通过更新和升级apt并重新安装节点模块来修复。
请帮我解决这个问题。
答案
关于这个问题,GitHub上有很多答案。
- 有人说
npm cache clean
这个在终端上执行的命令解决了这个问题。 - 其他人建议删除您的应用程序所在的整个目录并重新安装软件包,然后尝试运行该程序。
- 有些人还说它是由反恶意软件软件引起的,并建议在运行程序时禁用它。
GitHub问题链接:https://github.com/npm/npm/issues/13461
如果它没有解决问题,只需将GPIO引脚更改为编码中的23,并且不要忘记从4到23物理替换LED。
另一答案
var onoff = require("onoff");var Gpio = onoff.Gpio, led = new Gpio(4, "out"), interval;interval = setInterval(function () { var value = (led.readSync() + 1) % 2; led.write(value, function () { console.log("Changed LED state to: " + value); });}, 2000);process.on("SIGINT", function () { clearInterval(interval); led.writeSync(0); led.unexport(); console.log("Bye, bye!"); process.exit();});
以上是关于获取错误EBUSY:资源繁忙或已锁定的主要内容,如果未能解决你的问题,请参考以下文章