Meteor 1.2 app on Azure Web Apps (OS X)

3 minute read | By Prashanth Madi

Refer Below link for running Meteor 1.4 App on Azure App Services  

Meteor is a full-stack JavaScript platform for developing modern web and mobile applications. Meteor includes a key set of technologies for building connected-client reactive applications, a build tool, and a curated set of packages from the Nodejs and general JavaScript community. Support for Meteor on Azure WebApps has been a big ask. This Blog would help you create a sample meteor app in local environment and later we would help you move sample app to Azure Web Apps -

Below steps are valid for MAC OS X. If you have windows OS, please refer Azure by default doesn’t support meteor but we can convert your meteor app into Nodejs level using demeteorizer .

Creating Sample Meteor App

  • Use Below command to install meteor on local environment

    curl sh
  • Use Below command to create a sample meteor app

     meteor create simple-todos


  • Above command would create a new folder with few files for our sample app as in below screenshot


  • Now check if you have node v0.10.40 using below cmd. You can’t use latest version of nodejs for this process

    node -v


Why i can’t use latest version of Nodejs?

  • Meteor has a dependency on fibers module which cant be installed with newer version of nodejs

issue tracker :

fibers@1.0.5 install /Users/prashanth/workspace/meterosample/simple-todos/.demeteorized/bundle/programs/server/node_modules/fibers > node ./build.js `(node) child_process: options.customFds option is deprecated. Use options.stdio instead. CXX(target) Release/ ../src/ error: too many arguments to function call, expected at most 2, have 4 return Signature::New(isolate, receiver, argc, argv); ~~~~~~~~~~~~~~ ^~~~~~~~~~ /Users/prashanth/.node-gyp/4.1.2/include/node/v8.h:4675:3: note: 'New' declared here static Local New( ^ ../src/ error: no member named 'SetResourceConstraints' in namespace 'v8'; did you mean simply 'SetResourceConstraints'? v8::SetResourceConstraints(isolate, constraints);`  

How to change my existing Nodejs version?

  • Use Below command to install nvm(node version manager) on local environment. This would help us change nodejs version easily

    curl -o- bash


  • Use Below command to install node v0.10.40

    nvm install 0.10.40

  • Check your nodejs version again using below cmd

    node -v

  Using Demeteorizer to convert app into node.js format

  • Use below cmd to install Demeteorizer

    npm install -g demeteorizer

  • Navigate to your meteor app root folder and enter below cmd



  • Navigate to .demeteorized/bundle/programs/server using below cmd

     cd .demeteorized/bundle/programs/server

  • Enter below cmd to install all the required node.js modules

    npm install

  Running App on Local Env - Use below cmd to execute demeteorized/converted nodejs app in local environment

> PORT=8080 ROOT_URL=http://localhost:8080 npm start


Moving App to Azure

  • Create a sample web app on azure and Setup continuous deployment and get the git url. Below link has details on it

  • Add ROOT_URL with value as your web app url(ex: and set WEBSITE_NODE_DEFAULT_VERSION to 0.10.40 as in below screenshot inside Azure portal App Settings


  • Create a web.config file @ .demeteorized/bundle/  folder and insert below link content


  • Navigate to .demeteorized/bundle/  folder and Commit your changes to web app git url

    > git init
    > git add .
    > git commit -m "initial commit"
    > git remote add samplemeteorapp WEB_APP_GIT_URL
    > git push samplemeteorapp master
  • Navigate to your azure web app

8   Troubleshoot : 1) Unaught exception: Error: `D:\home\site\wwwroot\programs\server\node_modules\fibers\bin\win32-ia32-v8-4.5\fibers.node` is missing. Try reinstalling `node-fibers`?

  • Check if you are using node v0.10.40 on azure web apps
  • Default node.exe on azure webapps are 32-bit. check if there is  bin\win32-ia32-v8-4.5\ in fibers module

2) Unaught exception: Error: Must pass options.rootUrl or set ROOT_URL in the server environment

  • You need to define ROOT_URL in App Settings at Azure Portal (ex: