Linux's Meteor install now works natively on Windows

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:

useraccounts-ionic
accounts-password
service-configuration
accounts-facebook
accounts-twitter
accounts-google
hedcet:cordova-google-plus-native-sign-in
useraccounts:iron-routing
splendido:accounts-meld
meteoric:ionic
meteoric:ionic-sass
meteoric:ionicons-sass
meteoric:autoform-ionic
iron:router
zimme:active-route
anti:fake
matb33:collection-hooks
aldeed:collection2
aldeed:autoform
http
email
meteorhacks:ssr
meteor-base
mobile-experience
mongo
blaze-html-templates
session
jquery
tracker
logging
reload
random
ejson
spacebars
check
reactive-var
standard-minifier-css
standard-minifier-js
raix:push
meteorhacks:subs-manager
sacha:spin
meteorhacks:kadira
mdg:reload-on-resume
chriswessels:hammer

On a different note, to use Atom installed within Windows as editor; for a project created within Windows Ubuntu system, I tried the below:

  1. cd /mnt/d/winux
  2. meteor create todo
  3. cd todo
  4. meteor

Voila, I can sure open the project in Atom editor, but :sweat:
I see the below error when trying to run the 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).

@rohanray Sorry, could you please explain how you open ubuntu project in Atom installed on W10?

@yanis: You don’t do it this way because you can open it but you simply cannot run it.

Plus, as my example shows, as soon as you go beyond the “click me” template, it won’t work anyway.

So, currently, forget it and wait for something to change.

Yes, you are right! Did not realize that :slight_smile:

@rhywden I got my meteor project working by upgrading meteor to 1.3.2.4. Can you check if upgrading meteor to 1.3.2.4 works for you?

@rohanray Tried it with mantra-sample-blog-app - FAILED :frowning:

Nope. It’s actually meteor-tools themselves which bomb out, leaving you with a non-working meteor installation.

Update: Everything seems to be working now!

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.

My process:

  • Installed Windows Bash by following: http://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/
  • Installed meteor via “curl https://install.meteor.com/ | sh”
  • 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”
  • Ran “meteor” - everything working smoothly
1 Like

I get:

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...

Edit: so this is probably a general issue and not related to bash on windows.
The tarball it tries to download is:
https://meteorinstall-4168.kxcdn.com/packages-bootstrap/1.4.1.1/meteor-bootstrap-os.linux.x86_64.tar.gz

which indeed gives a 403 error. Created an issue: https://github.com/meteor/meteor/issues/7697

1 Like

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.

1 Like

Heh, seba, it seems this issue is suffering from a doubled thread discussion (anyway to “merge” discussions in discourse?).

You are probably having the same issue I described here Just an FYI: Bash on Windows 10 now available .

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.

:slight_smile: 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.

Using this guide: http://windowsclan.com/developers-running-linux-gui-apps-windows-10-using-bash/
I’ve been able to run firefox from windows on bash (although without hardware acceleration and so on)

However, I can’t seem to run any of the GUI’s I’ve tried: webstorm, atom and vscode.

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.

How I achieve it:

  1. Open Atom on Windows
  2. Open Bash
  • run cd …/…/mnt/c/Users/(my meteor dir)
  • run meteor
  1. Profit
2 Likes

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.

Just for the sake of updated information:

It doesn’t seem to work after the last updates. I am receiving the same error as presented at http://stackoverflow.com/questions/38818714/meteor-npm-install-produces-error-eio-i-o-error

@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 :slight_smile:

2 Likes