ENOTEMPTY and EPERM exceptions while bundling Meteor application on Win7? :( - meteor

Help!
I've been working with Meteor for about two months now, and everything is going swimmingly in my OSX home environment. But I recently brought some of that code into our Windows 7 environment at work, and Meteor isn't behaving the same on Windows.
Specifically, code bundling keeps getting borked. When I make changes to the code base, instead of flushing the old .meteor/local directory, and rebundling the application, it's barfing a ENOTEMPTY exception at me in the server console. If I halt the mongod process in Task Explorer and manually delete the .meteor/local directory, I can restart the application, and it will bundle and deploy the app with the new code changes.
Running on: http://localhost:3000/
No dependency info in bundle. Filesystem monitoring disabled.
Errors prevented startup:
Exception while bundling application:
Error: ENOTEMPTY, directory not empty 'c:\Users\Abigail\My Documents\GitHub\canvas tracker\.meteor\local\build\server'
at Object.fs.rmdirSync (fs.js:456:18)
at Object.module.exports.rm_recursive (c:\Program Files (x86)\Meteor\app\lib\files.js:256:10)
at c:\Program Files (x86)\Meteor\app\lib\files.js:254:15
at Array.forEach (native)
at Function._.each._.forEach (c:\Program Files (x86)\Meteor\lib\node_modules\underscore\underscore.js:79:11)
at Object.module.exports.rm_recursive (c:\Program Files (x86)\Meteor\app\lib\files.js:252:9)
at _.extend.write_to_directory (c:\Program Files (x86)\Meteor\app\lib\bundler.js:493:11)
at Object.exports.bundle (c:\Program Files (x86)\Meteor\app\lib\bundler.js:685:12)
at exports.run.restart_server (c:\Program Files (x86)\Meteor\app\meteor\run.js:615:26)
at c:\Program Files (x86)\Meteor\app\meteor\run.js:726:9
Please fix the problem and restart.
But it doesn't do on-the-fly code changes and re-bundles anymore. :( I'm also getting EPERM errors sometimes when I try launching the application.
Running on: http://localhost:3000/
No dependency info in bundle. Filesystem monitoring disabled.
Errors prevented startup:
Exception while bundling application:
Error: EPERM, operation not permitted 'c:\Users\Abigail\My Documents\GitHub\canvas-tracker\.meteor\local\.build.build'
at Object.fs.renameSync (fs.js:439:18)
at _.extend.write_to_directory (c:\Program Files (x86)\Meteor\app\lib\bundler.js:628:8)
at Object.exports.bundle (c:\Program Files (x86)\Meteor\app\lib\bundler.js:685:12)
at exports.run.restart_server (c:\Program Files (x86)\Meteor\app\meteor\run.js:615:26)
at c:\Program Files (x86)\Meteor\app\meteor\run.js:726:9
at Object.exports.launch_mongo (c:\Program Files (x86)\Meteor\app\lib\mongo_runner.js:146:5)
at exports.run.launch (c:\Program Files (x86)\Meteor\app\meteor\run.js:712:39)
at Server.exports.run (c:\Program Files (x86)\Meteor\app\meteor\run.js:770:5)
at Server.g (events.js:193:14)
at Server.EventEmitter.emit (events.js:90:17)
Please fix the problem and restart.
Any ideas on how to resolve this? I'm using Meteor 0.5.4 on Windows 7 Ultimate, SP1, x64.
Edit: I should mention that these errors occur whenever there's an error in the code. In my OSX environment, if I have an error, the code will still compile, minify, and bundle, and the page might not render and I'll get various Javascript errors in the Chrome console which I then have to debug. In my Win7 environment, I'm doing the exact same thing, but instead of compiling a semi-broken app that I can then debug in Chrome, it's halting during the bundle process. In either case, there's an error in my Javascript code (I know that much). But in OSX, it will still bundle and I can proceed to debugging. In Win7, I can't get to the debugging step because of these ENOTEMPTY and EPERM exceptions...
Edit: And, yes, I've tried nuking the permissions on the entire project directory by giving Full Access to Everyone. That didn't do the trick, unfortunately.

Win7. Two Steps to made it work.
1) Delete the DB Lock From MongoDB
C:\Users**USERNAME**\leaderboard.meteor\local\db
mongod.lock
2) Close all Open Editors pointing to files in project
C:\Users**USERNAME**\leaderboard.meteor\local\build\programs\client\app
leaderboard.js
In my case i kept an editor open to edit the leaderboard.js
It needs to be shut down, as the open file handle seems to interrupt.

Okay, so with the help of Tom Wijsman, we managed to track down the issue. The short answer is that it was the GitHub Bash shell.
The long answer is that ENOTEMPTY and EPERM are caused by a directory not getting deleted correctly during the bundling process. The directory not getting deleted correctly was caused by the code using an exec() command, which passed the delete command off to a shell. Turned out I was using the GitHub Bash shell, which is case sensitive, unlike the standard Windows cmd.exe, which is case insensitive. The case sensitivity was causing the shell not to recognize the path that should be removed, thus not removing it, thus causing a break during the bundle process.
100x thanks to Rahul for finding the previous bug reports on this issue! You were the hero that found the needle in the haystack!

Had the exact problem in windows 8. Turning off my McAfee antivirus (Real time scanning) just while running meteor cmd solved it.

Related

System.Text.Encoding.CodePages missing in netcoreapp2.0 app

I just installed a clean install of the new .NET Core SDK on a CentOs 7 box. I had a different Linux VM I was running to test this and received the same error there.
I am building my application in VS 2017 on a Windows box and copying the project file over to the Linux box to test it. I am coming from netframework environment and trying to learn dotnetcore so I am sure this is probably just a newb issue. Here is what I am doing.
I run a dotnet restore, which works without error.
I run a dotnet build, which I receive a
Build succeeded.
0 Warning(s)
0 Error(s)
Then I run a dotnet run and receive the following error:
Error:
An assembly specified in the application dependencies manifest (apf-ws.deps.json) was not found:
package: 'System.Text.Encoding.CodePages', version: '4.3.0'
path: 'runtimes/unix/lib/netstandard1.3/System.Text.Encoding.CodePages.dll'
Nowhere in my code do I actually reference any type of Encoding explicitly. I have tried including System.Text.Encoding.CodePages in my project to see if that would add a reference and bring in the library to ignore the one it is looking for, but it doesn't help. Anyone have any ideas of what would be causing this?
I tried several things before wiping the directory out in Linux and copying the files over again. In doing so it seemed to fix the problem.

"The system cannot find the path specified" error in WebStorm and meteor.js

I am programming using Meteor.js and the IDE am using is WebStorm; whenever I hit run in WebStorm I get this kind of error:
The system cannot find the path specified.
I don't know how to fix it. I've tried to visit the paths that are in the WebStorm output, but I found meteor.bat & runnerw.exe
"C:\Program Files (x86)\JetBrains\WebStorm 2016.3.4\bin\runnerw.exe" C:\Users\forland\AppData\Local\.meteor\meteor.bat
The system cannot find the path specified.
Process finished with exit code 3
Have you correctly followed the Running and debugging a Meteor application instructions in the WebStorm help guide? It sounds like WebStorm is not able to find the meteor executable.
Here are some other resources that could help.
Run/Debug Configuration: Meteor
Languages and Frameworks: Meteor
Also, try running your meteor project outside of WebStorm to make sure you don't have a meteor executable problem.
From the command line, browse to your meteor project's folder.
Run the project
meteor run
Update your question if you get an errors or have more information after trying these resources.

Symfony - botched project with cache:clear

I have a little problem concerning cache:clear following a tutorial that told me if I have an error while running the command, I could delete the dev folder by hand in var/cache/dev
So when running the command to clear the cache, I got this error:
[Symfony\Component\Filesystem\Exception\IOException]
Failed to remove file "/var/www/html/Symfony/var/cache/de~/profiler/26/75/2d7526":
So as the error appeared I decided to delete the dev folder in /var/dev
But then I couldn't go anymore on my browser checking if everything worked fine. This error came up.
RuntimeException in ClassCollectionLoader.php line 309: Failed to write cache file "/var/www/html/Symfony/var/cache/dev/classes.php".
I have no idea as how to make it work again.
My dev and prod cache folders are back in my cache folder as expected, but that doesn't do anything. It won't work anymore.
So I'm a bit desperate.
Have you setup correctly the file permissions for the var folder?
See this link: http://symfony.com/doc/current/setup/file_permissions.html

Cordova ripple.js failed to load resource error

Created a default project without modifications, no build errors, but it failed to run and showed errors when running Ripple-Nexus(Galaxy).
As mentioned in here copying your config.xml into your www directory should resolve the ripple.js not found error.
Anyway it seems that the Ripple Simulator works well, even if you get the error, so in the end I found myself ignoring it.

Running 'grunt' command on mean.js app just stalling

I am following the installation guidelines as described on mean.js.org Everything seemed to install fine. I have all prereqs installed. I ran npm install after cloning the github repo and then tried to run grunt and I didnt get any errors however It seems to just be stalling on the command line. Last message on the command line is the "debugger is running on port 5858" and then it just sits there.
After some time the message [nodemon] watching 51,839 files - this might cause high cpu usage. To reduce use "--watch" comes up. I am on windows 10 and have all the latest versions of node,npm,grunt and mean.js. I am running the command line as admin.
Mean.js should be running on localhost:3000 but it is not.
This is intended.
There is an application invoked by the grunt command and running in background, watching your files for changes. In default configuration: nodemon and grunt-watch.
This will execute specific tasks based on the files you edited, such as linting JS files or compiling LESS files.
The cmd will probably show something when you edit files in the projects directory.

Resources