Workaround for Windows 10 Users with current problems (fibers not found)

edit: Please do not come into thread and use it to pontificate about the OS of your choice.

WARNING: Do not access the Subsystem files directly from Windows. Only use the mount point inside the subsystem. You may destroy the subsystem otherwise

So, for everyone with Windows 10 on April Update and the problem that currently Meteor simply crashes because it’s telling you that “module fibers cannot be found”, here’s a workaround to keep everything in Windows and not having to install Linux in a VM or something.

  1. Install the Linux on Windows Subsystem. I chose Ubuntu.

  2. Start the subsystem and install Meteor as usual by doing sudo curl https://install.meteor.com/ | sh
    Third, if you have some npm modules which need to be built (for instance, I’m using PaperJS which uses Canvas/Cairo) you should also do: sudo apt-get update && sudo apt-get install build-essentials
    sudo apt-get install git is probably a good idea as well.

  3. Clone your current development build into your environment. Easily done if you use Github or similar.

  4. Now change into your project and do meteor npm install && meteor to see if your project works as it should.

  5. Now comes the annoying part: You first need to delete the files and folders you’re actively writing on and symlink those files back from Windows into the subsystems like so:
    For files:
    rm package.json
    ln -s /mnt/C/Users/yourusernamehere/Documents/projectname/package.json
    For folders:
    rm -rf client
    ln -s /mnt/C/Users/yourusernamehere/Documents/projectname/client

  6. Do this for everything except for two folders: node_modules in the root project folder and .meteor/local. Everything else in the hidden folder .meteor should be linked like I just described on a file basis. Do not link the whole .meteor folder.

  7. If you want to add/update/remove Meteor packages or add/update/remove npm packages, you must do this from Windows. If you do a meteor npm install --save material-ui (for example) in the Linux subsystem your symlink will be deleted and a faulty package.json will be created which will crash Meteor.

  8. After you did 7) in Windows, you then do a simple meteor npm install && meteor to start Meteor. If you there were no changes a simple meteor will suffice obviously.

If you did everything like I said then your folder in Linux should look like this:

Everything with a -> beside it is a symlink. You’ll note that I didn’t link .meteor/platforms - that’s a file which doesn’t need linking because you’ll most likely never need to edit it. Similar to .meteor/.id.

Every other method will run into problems of some kind. I hope it helps.

And once again for emphasis: Please do not come into thread and use it to pontificate about the OS of your choice.

2 Likes

I appreciate this post. But I would really love a thorough explanation of what changed in windows, what part of meteor breaks and why, and if there is a viable solution coming. So many of us are crippled from this update - it would be really great to know details and roadmap so we can plan accordingly…

2 Likes

I was saying the same for years, but I changed my mind.
For a specific project I was forced to switch to Windows 10 ( a touchscreen electron app , and Apple doesn’t support touchscreen :man_facepalming: )

I discovered that Windows 10 is a really good OS, and WSL ( Windows Subsystem for Linux ) is just the killer feature. I still own a mac ( for compiling iOS apps … ) but now , I use Windows as my main system, Meteor run pretty well with Ubuntu in WSL.

3 Likes

did you have to disable Defender and firewall? I heard they go crazy when you install stuff in WSL.

I develop Meteor on Ubuntu in a VirtualBox VM, Windows (natively) and WSL. I’ve gone from Windows 7 to Windows 10, on different machines over a few years, and can honestly say I’ve not had a problem with any of those environments.

Having said that, I don’t have this Windows 1803 release yet, so that may finally be the thing to break my run. Looking forward to it :wink:.

2 Likes

I’m a bit … curious as to why we haven’t heard anything on this issue from the devs yet. I mean, this is a breaking issue which completely wipes out native use of Meteor under Windows.

I mean, a “We’ve seen this issue” would be at least something.

Hopefully a fix comes soon,meatime I’m using my Linux box

This is a great guide. If you get comfortable using Linux in this way, consider transitioning completely to a VM, either through a tool like Vagrant or the most durable option, an Ubuntu desktop environment in a free VM tool like VirtualBox or VMWare Player. Then you’re more likely to not see breaking Windows changes like these.

Great tools like WebStorm, Atom, and all browsers besides IE are supported first-class on Linux, so you’ll be in good care for development needs. Plus, the environment better matches what you actually run in servers (which is very, very rarely Windows for an application like this).

Pretty sure that using WSL will be soon the recommended way to use Meteor on windows , the only problem is MongoDB that doesn’t start if installed on the ntfs mount ( /mnt/c ) , but it’s an easier fix that maintaining a windows version.

I have a perfectly working Meteor just by cloning my project on my c drive from Ubuntu ( ‘mnt/c/…’ ) and just one symlink of the .meteor/local folder to my linux local folder ( ‘~/myproject/local’ ) , this is the only thing to do to have MongoDb running…

2 Likes

Okay, I’ll edit my first post as to this point: Please do not come into thread and use it to pontificate about the OS of your choice.

Because I could also tell you loads of stuff about Linux and that would only start a flamewar. Let’s not do that.

Thanks for this post.
A simpler way at the step 5 you can simply open the folder of your meteor project (in WSL) from Windows.
You can access file here:

C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\

I personaly opened my project folder in my ubuntu with Atom on Windows :slight_smile:
EDIT: Ok my bad, don’t do it :stuck_out_tongue:

Anyone who reads this:

DO NOT DO THAT.

You‘ll potentially destroy the subsystem because the filesystem of the subsystem works very differently from the normal one.

Again: DO NOT ACCESS THE SUBSYSTEM FILES DIRECTLY FROM WINDOWS

There‘s a reason why I detailed the steps as I did.

2 Likes

To reiterate @rhywden’s warning:

https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

DO NOT, under ANY circumstances, create and/or modify Linux files using Windows apps, tools, scripts, consoles, etc.

Also note: Opening files using some Windows tools may read-lock the opened files and/or folders, preventing updates to file contents and/or metadata, essentially resulting in corrupted files/folders.

Creating/changing Linux files from Windows will likely result in data corruption and/or damage your Linux environment requiring you to uninstall & reinstall your distro!

thanks, I was stuck on this. is this still the recommended way. worked for me but jsut checking.

I am unable to find a set of instructions to run Meteor in Windows 10 ubuntu bash.

I hope someone shares a good step-by-step someday. Meanwhile I’m stuck.

Did you try the steps in the first post of this thread?
They are a step by step set of instructions

1 Like

This works but is really cumbersome right now :smiley:

Any plan from MDG or Microsoft to make Meteor compatible with Windows 10 bash from scratch?

You can use Meteor with WSL out of the box. The workaround in this thread was specifically to address an issue with running Meteor pre-1.7 in Windows V 1803 natively by hijacking WSL to bypass Windows.

1 Like