12

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.

Pang
  • 9,564
  • 146
  • 81
  • 122

9 Answers9

19

There are many answers on GitHub regarding this issue.

  • Some says npm cache clean this command executing on terminal solved the problem.

  • Others recommend to delete the entire directory your app is the folder in and re-install the packages and then try running the program.

  • Some also says that It is caused by the anti-malware software and recommend to disable it while running the program.

GitHub issue link: https://github.com/npm/npm/issues/13461

If it doesn't solve the issue, just change the GPIO pin to let's say 23 in coding and don't forget to physically replace LED from 4 to 23 too.

Muhammad Naufil
  • 2,420
  • 2
  • 17
  • 48
5

This problem can occur when you try to write to a file that is open in an editor

Yauhen
  • 401
  • 6
  • 7
3
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();
});
0

Some says npm cache clean this command is not properly work.

we try uninstall nodejs and reinstall nodejs

after properly work

Paras Raiyani
  • 748
  • 5
  • 10
0

Find the packager-info.json file inside the .expo folder and delete it. Now restart it by expo start command.

jizhihaoSAMA
  • 12,336
  • 9
  • 27
  • 49
0

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.

Dharman
  • 30,962
  • 25
  • 85
  • 135
hitesh
  • 46
  • 5
0

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.

0

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

0

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.