'Getting Error EBUSY: resource busy or locked
Trying to run a Nodejs app to test Raspberry 3 B + Gpio Onoff Module but when i am trying to run the app getting this Error
fs.js:114
throw err;
Error: EBUSY: resource busy or locked, write
at 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.<anonymous> (/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)
Here is my App Code
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();
});
Already Tried Fixes by updating and upgrading apt and reinstalling node modules.
Please Help me to resolve this issue.
Solution 1:[1]
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();
});
Solution 2:[2]
This problem can occur when you try to write to a file that is open in an editor
Solution 3:[3]
Some says npm cache clean this command is not properly work.
we try uninstall nodejs and reinstall nodejs
after properly work
Solution 4:[4]
Find the packager-info.json file inside the .expo folder and delete it. Now restart it by expo start command.
Solution 5:[5]
If you are on windows.
Try running your bash window as Administrator.
For example, in my case, I was using git bash.
Search on windows "Gitbash" (or any other command-line window) -> Right-click -> Run as Administrator. Worked for me.
Solution 6:[6]
I know this is barley advice since its so obvious but I spent over an hour on this then restarted my computer, problem fixed!
just a reminder the most obvious solutions are sometimes the right solutions.
All the other solutions posted about this problem didnt work for me. Maybe because my problem was a log file was being locked which prevented me from using npm at all. The log file didn't even show up in the directory it was supposed to be in.
Solution 7:[7]
Simply close everything , including your visual studio or any app you are using and start ng serve or ng build again , you will get your server running
Solution 8:[8]
Another cause for the issue may be that your npm package includes a package that does not exist. In my case I have a private repository that is included in my package.json - but it was pointing at a git tag/version that did not exist. Fixing this error and running
npm install
(ignoring any errors) fixed it for me. To be save I ran
npm ci
afterwards, but that may be unnecessary.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
