Linux version of Meteor running on Windows at native speeds

Screenshot of the Linux version of Meteor running on Windows 10 without a VM under Windows 10 Linux compatibility layer.

8 Likes

Wow! Are there any disadvantages to this? Like can you browse the files with windows explorer etc?

Good question. I’ll have a look. I’d be surprised if you couldn’t.

@sashko Seems it works both ways. I just fired up atom in windows and then accessed the root filesystem of linux from:

C:\Users\<user>\AppData\Local\lxss\home\ciwolsey\

When I altered files Meteor just refreshed as you’d expect.

You can access windows filesystem from inside bash using /mnt/c.

1 Like

That’s just spectacular. Too bad it’s only on Windows 10 though - I think that’s a small minority of current Meteor Windows developers.

It’s not even in Windows 10 at the moment, it’s on the developer preview though. It’ll be in consumer releases around summer.

1 Like

The conspiracy theorist in me says MS is getting really creative at ways to get windows users to upgrade to 10, ha!

2 Likes

Hey, if this actually works, I might switch back to windows full time!

1 Like

It seems that the latest Insider Preview fixed some bugs - the sample app was working in the last Preview, but my own app using quite a number of npm packages simply crashed upon startup.

It doesn’t do that anymore :slight_smile:

Just an FYI for everyone else - this folder:

C:\Users\<user>\AppData\Local\lxss\

does not appear in the explorer even when you select “show hidden elements”. You have to type in the path manually.

1 Like

I’ve just switched to ubuntu desktop, super happy with why did I waste my time with windows all this time… Switch now you will never go back :slight_smile:

I’m excited for this feature in windows 10. I switched to os x many years ago but have always been a windows guy so it’ll be nice to go back finally.

1 Like

If you find something resembling the quality of Visual Studio on Linux, by all means.

Just don’t expect me to hold my breath while you’re trying to do that (and utterly fail).

And, no, Eclipse does not count.

Still some way to go, or so it seems. When I try to use WebStorm to edit my project under the /lxss/ folder, I’m getting an “access denied” error upon trying to save a file.

And running meteor binds it to localhost only (funnily enough, I have the opposite problem on my production server), so I can’t access the running project from another PC in the same network. No, BIND_IP did not work.

There seems to be some kind of file locking going on.

I can either edit the files while Meteor is not running.
Or I can run Meteor and not edit the files.

Everything else results in either Meteor crashing with an I/O error or WebStorm declining to save the file because of an I/O error.

1 Like

For what it’s worth I designed and deployed my entire production Meteor app in Ubuntu Linux running inside VirtualBox on Windows 8.1. VirtualBox (which is free) allows you to access all your Linux files via a network share in Windows Explorer. So I can browse, open, and edit inside Windows using Sublime Text just as if I were developing in actual Windows. Depolying (and everything else) is easy because I’m actually in bash in Linux. It works good.

give it time, you will be back soon…

Okay, guys, this is how you combine Meteor, Ubuntu on Windows and Windows in order to not run into any I/O errors:

  1. You create your Meteor app in the Windows file structure (e.g. C:\Users\username\Documents\meteorapp) and put it into source control (e.g. Github).
  2. You create the same app in the Ubuntu on Windows (short: UoW) environment, in your user folder like this:
cd
git clone https://pathtoyourgithubrepo/meteorapp
cd meteorapp
  1. You delete all folders in the UoW environment you created yourself, e.g. /client, /public, /server … Don’t touch node_modules and .meteor!
rm -rf ./public
  1. You create symlinks to the Windows folders for all the folders you just deleted, like this:
ln -s /mnt/c/Users/username/Documents/meteorapp/public
  1. Start meteor and use your favourite IDE in Windows.

This means, of course, for the time being,that all update and install commands like npm install --save have to run twice - once in Windows and once in UoW. The Windows version is the one you put into source control.

The reason for this runaround is the simple fact that you need symlinks, those don’t work the same in Windows and UoW and thus UoW has actually its own filesystem.

Yes, you can see those UoW files in the Windows explorer.

Doesn’t mean that either Windows or UoW like it when you try to access those files from both sides at the same time.

So far the only issues I’ve ran into was trying to:

meteor create /mnt/c/meteor/test

otherwise:

meteor create ~/test

works fine and I can read/write while meteor is running using vscode. So far no need to use your second method.

Basically it doesn’t like it if I try to create the meteor app outside of the Linux file structure, which sucks, but I can deal with it. (you run into the same errors that Windows users are having here)

Now when UoW allows us to start up Windows apps from the terminal I’ll be set!

1 Like

Yes, they’re running into those problems because NTFS does not support symbolic links the same way a *nix filesystem does.

For the second part: That will happen approximately after the heatdeath of the universe. Not even sure what that would be good for.