Getting Started With Meteor On Windows – Or Not

by Oliver 2. October 2014 18:30

Recently, we at teamaton decided to take a break from Camping.Info and discoverize to dive into something new. We wanted to breathe some fresh air, open our eyes and minds for a world outside of our day-to-day development stack of ASP.NET.

During the process we also wanted to check out some tools, frameworks, environments that we'd heard of or read about but hadn't found the time to really take a closer look at.

One of these was Meteor.

What's Meteor about

The elevator pitch on meteor.com reads like this:

Meteor is an open-source platform for building top-quality web apps in a fraction of the time, whether you're an expert developer or just getting started.

I really encourage you, dear Reader, to check out the Meteor site and take a look at what's waiting for you. I really liked what I found there: Pure JavaScript. Live page updates. Hot Code Pushes. Fully self-contained application bundles. And more. That's stuff, .NET developers aren't used to.

Setting up Meteor on Windows

[Note: Before proceeding, please have a look at Meteor's Supported Platforms page just to make sure you're not missing out on anything new.]

This part took me about 2h to get right, so I took notes to save my colleagues or anyone else interested some precious time. I basically followed this comprehensive guide (and I encourage you to do the same) but made a few adjustments.

[A word of warning: Running my first out of the box sample failed and that's where I stopped.]

  1. Install Git and add C:\Program Files (x86)\Git\bin to your PATH variable
  2. Download and install VirtualBox > 4.3.12 from here: https://www.virtualbox.org/wiki/Downloads
  3. Download and install Vagrant >= 1.6.3 from here: http://www.vagrantup.com/downloads.html
  4. Install the ChefDK from here: http://downloads.getchef.com/chef-dk/windows/
  5. Now start a command line and run:
    vagrant plugin install vagrant-berkshelf --plugin-version ">= 2.0.1"
    vagrant plugin install vagrant-vbguest
    vagrant plugin install vagrant-omnibus
  6. Create C:\vagrant and cd into it, then call:
    git clone git://github.com/shoebappa/vagrant-meteor-windows.git meteor
  7. Edit C:\vagrant\meteor\Vagrantfile to use a new virtual machine image (the old one wouldn't work with Meteor's current version): 
    1. In line 8, set: config.vm.box = "trusty64"
    2. In line 10, set: config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
    3. In Iine 36, use a different name for your first app
  8. Go to C:\vagrant\meteor and initiate Vagrant (will take a while):
    vagrant up
  9. Now start your app by:
    cd C:\vagrant\meteor
    vagrant ssh
    cd /vagrant/mymeteorapp
    mrt run

Running the app threw a NullReferenceException (or something alike) at me that was triggered from somewhere inside a javascript file – I don't remember exactly where. I tried fiddling around with it for another hour or so, especially when I read that Meteorite (mrt) is no longer needed with Meteor versions >= 0.9.0. But without success.

What to do now?

I shied away from it but you might just feel like setting up a dev environment on a Linux OS and simply running the few lines from the Meteor home page:

 $ curl https://install.meteor.com/ | sh

It seems to simple to be true.

But wait! Official Windows support is coming to Meteor – sometime in the near or farther future. So please check if the future isn't already here!

What we did

We went to grab Angular.js and haven't looked back.

Happy coding!

Comments are closed

About Oliver

shades-of-orange.com code blog logo I build web applications using ASP.NET and have a passion for javascript. Enjoy MVC 4 and Orchard CMS, and I do TDD whenever I can. I like clean code. Love to spend time with my wife and our children. My profile on Stack Exchange, a network of free, community-driven Q&A sites

About Anton

shades-of-orange.com code blog logo I'm a software developer at teamaton. I code in C# and work with MVC, Orchard, SpecFlow, Coypu and NHibernate. I enjoy beach volleyball, board games and Coke.