On further investigation, I believe it is somehow due to additional packages in my project. Hence, I did a meteor create todo, cd todo, meteor It works perfectly fine. I can also open the webapp in Chrome:
Below is the list of packages being used in my project:
You cannot run a Meteor project that way. Because under /mnt/ you have the mounted Windows drives (usually NTFS) which do not support symlinks - that’s why you get that particular error.
You have to run everything in the virtual Linux filesystem (which is anything but the /mnt/* folders).
I’ve only heard about Windows 10’s bash today. Installed the bash application, installed meteor, installed node, installed npm. Minor errors in the process. Now running meteor on windows with all the code refresh speed of linux. This should be better publicized somewhere in the Meteor community as it’s one of the biggest criticisms among Windows users.
Tried running “meteor” command on existing project. Bash returned a promises related error and exited. Tried running “meteor reset” and received message that it could not be executed because meteor was already running, even though there was no server at localhost:3000. Tried running meteor again. Did not receive promises error, but received an npm related error.
Installed node and npm via “sudo apt-get update”, “sudo apt-get install nodejs”, “sudo apt-get install npm”
seba@KORCLT29912:~$ curl https://install.meteor.com/ | sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7592 0 7592 0 0 18983 0 --:--:-- --:--:-- --:--:-- 19027
Downloading Meteor distribution
curl: (22) The requested URL returned error: 403 Forbidden
Retrying download in 5 seconds...
Okay, so after manually changing the install script for now, I got meteor installed and running on bash for windows.
Sadly, it is pretty useless.
What works is creating and running a meteor project on the linux file system (e.g. your linux home directory). But that’s pretty useless, since you can’t open it in any GUI. So this is only for the vim people among us.
Running a meteor project on the windows file system from the ubuntu bash (e.g. under /mnt/c/...) does not work, since mongo can not start. You get:
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Can't start Mongo server.
MongoDB had an unspecified uncaught exception.
This can be caused by MongoDB being unable to write to a local database.
Check that you have permissions to write to .meteor/local. MongoDB does
not support filesystems like NFS that do not allow file locking.
Too bad, I really hoped this could work.
I might try to see if I can install X server and open GUI applications that way, like you would do with a remote terminal session.
So, it looks like if a Meteor project has the MongoDB originally built on Windows it runs properly. However, if you build/reset the project with bash, Mongo becomes unable to start. According to the warning messages I mentioned in my post, this might be related to the MongoDB engine being used. Mongo engines are beyond my scope of knowledge, but I’ll leave the hanging thread here if anyone wants to follow it.
In the meanwhile, bash is quite useful in my specific use case - faster code refresh and bash command sweetness on a previously existing project built on Windows.
Oh okay. I’ll leave it up to the moderators to merge the threads and continue here for the time being.
Problem is that I’m mainly experiencing very slow rebuild times because of AV-software which is corporate regulated (I can’t turn it off). I hoped using the linux file system would do away with this problem. But it seems I still need to use the windows file system.
With 20 years in dev I know the feeling and it will not change apart from that down the road it will be entire languages and platforms you’ve put years into, that will be made redundant and you have learn new stuff. But I wouldn’t have it any other way. It’s progress and that’s good. Old timer out.
Many existing Meteor projects from Windows seem to run fine on Ubuntu Bash after cloning them into the linux file system, e.g. /home/… So, to still use our favorite editor on Windows, every time we hit save, we could sync the changed project file from Windows filesystem to a folder on the linux filesystem, couldn’t we?
Tried it manually at least with rsync (and tmux) and it works as expected: meteor recognizes the changes as usual and processes them. Next step is to automate the syncing or let rsync check for changes in a short intervall.
Did anybody tried this stuff, too? What do you think?
I’m not sure I understood you correctly, but if I did I think you are seriously over complicating it. You do not need to clone meteor into the linux file system, as Bash is able to access the windows file system (at /mnt/c). My use case is exactly what you said - favourite editor on Windows and running meteor on Ubuntu Bash, meteor detects code changes, Chrome on Windows reloads.
I’m really not sure how you guys are running your Meteor projects directly under the /mnt/c directory.
Because that particular mount is a linked NTFS filesystem which really doesn’t like file-locks / symlinks (at least the way *nix does it). Every time I tried to use that directory, Meteor would crash and burn.
@sashko After trying to use bash on windows with meteor for a while, I can tell you it isn’t ready for day to day development. Still a lot of weird issues with mounting the files, symlinks, git, and even using an editor that’s installed outside of bash.
For now, I really appreciate all the work you put into the windows version