Linux's Meteor install now works natively on Windows

Wow this is amazing! Can’t wait to hear more about what works and what doesn’t. If down the road this means we can eliminate the special Windows build, that would be absolutely spectacular.

3 Likes

This. There were many bugs reported just for the Windows build because of the differences of how Windows handles files, etc. Having only one build (with some tweaks maybe to accommodate for Windows host) would be a win for everybody.

The problem though is that Bash for Windows only works in Windows 10, so we would need to drop support for previous Windows versions.

1 Like

Yeah, I spent 5 months implementing those differences… would love to get that part of my life back, but I’d settle for just deleting them, too!

16 Likes

A lot of enterprises don’t upgrade that fast and are still on Windows 7. So dropping support for windows 7 would mean losing those enterprises standardized on Windows and not providing the option to run Linux.

Seems as if we’re exchanging one set of bugs for another, at least for the moment:

This is straight clone from one of my repositories which is usually working under both Linux and Windows.

Have the same bug:

@tomgrek You forgot last slash and “----s://” (not “http”) in your article while “curling” the repo :slight_smile:

  1. If I understood correctly I can’t install atom in subsystem and use inside it? (I installed but I failed to run)
  2. Also I have to use “sudo meteor create sample_app” and “sudo meteor”
  3. Could’t install meteor first, did it that way:
    curl http://install.meteor.com/ > meteor.sh sudo sh meteor.sh

I am facing the exact same issue. I’m on Windows 10 build# 14328

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.