Getting "Error: Cannot find module 'esprima'" after updating Meteor to 1.0.2.1

827 Views Asked by At

After updating Meteor to version 1.0.2.1 I am getting an error:

Error: Cannot find module 'esprima'
W20150109-09:58:02.883(-6)? (STDERR)     at Function.Module._resolveFilename (module.js:338:15)
W20150109-09:58:02.883(-6)? (STDERR)     at Function.Module._load (module.js:280:25)
W20150109-09:58:02.883(-6)? (STDERR)     at Module.require (module.js:364:17)
W20150109-09:58:02.883(-6)? (STDERR)     at require (module.js:380:17)
W20150109-09:58:02.884(-6)? (STDERR)     at Object.Npm.require (/Users/sgidev-005/dev/newProject/.meteor/local/build/programs/server/boot.js:99:18)
W20150109-09:58:02.884(-6)? (STDERR)     at cmd (packages/mrt:server-eval/helpers.js:116:1)
W20150109-09:58:02.884(-6)? (STDERR)     at /Users/sgidev-005/dev/newProject/.meteor/local/build/programs/server/packages/mrt_server-eval.js:850:4
W20150109-09:58:02.884(-6)? (STDERR)     at /Users/sgidev-005/dev/newProject/.meteor/local/build/programs/server/packages/mrt_server-eval.js:906:3
W20150109-09:58:02.885(-6)? (STDERR)     at /Users/sgidev-005/dev/newProject/.meteor/local/build/programs/server/boot.js:175:10
W20150109-09:58:02.885(-6)? (STDERR)     at Array.forEach (native)

This seems like a Node module error, but I know that Meteor uses its own bundled version of Node, so I don't understand why this module would be missing.

Could it be possible that one of my packages is causing this error? Here is the result of meteor list:

aashu28:bootstrap-validator  0.0.1  bootstrapValidator to validate forms and use bootstrap 3 to show errors
accounts-base                1.1.3  A user account system
accounts-facebook            1.0.3  Login service for Facebook accounts
accounts-google              1.0.3  Login service for Google accounts
accounts-password            1.0.5  Password support for accounts
alanning:roles               1.2.13  Role-based authorization
chrismbeckett:fontawesome4   4.2.2  Scalable vector icons that can be customized with the power of CSS.
email                        1.0.5  Send email messages
joshowens:accounts-entry     1.0.3  Make signin and signout their own pages with routes.
jquery                       1.0.2  Manipulate the DOM using CSS selectors
less                         1.0.12  The dynamic stylesheet language
mrt:bootstrap-growl          0.1.3  Pretty simple jQuery plugin that turns standard Bootstrap alerts into Growl-like notifications.
mrt:iron-router-progress     0.9.3  Progressbar for iron:router
mrt:jquery-ui                1.9.2  jQuery-UI - jQuery user interface
mrt:jquery-ui-bootstrap      1.8.16  jQuery-UI-Bootstrap - custom CSS jQuery UI theme for Twitter Bootstrap
mrt:server-eval              0.6.3  allows client to run js in server context
nemo64:bootstrap             3.3.1_1  Highly configurable bootstrap integration.
noorderstorm:hammer          0.1.3  A javascript library for multi-touch gestures
sacha:spin                   2.0.4  Simple spinner package for Meteor
sewdn:velocityjs             0.8.0  Velocity.js jQuery animation plugin
spiderable                   1.0.6  Makes the application crawlable to web spiders
standard-app-packages        1.0.4  Moved to meteor-platform
underscore                   1.0.2  Collection of small helpers: _.map, _.each, ...
2

There are 2 best solutions below

0
On BEST ANSWER

After some more troubleshooting, I have found my answer!

The mrt:server-eval package was messing with the app compilation somehow. Once it was removed, everything started working correctly.

2
On

It looks like you have a bad installation of Meteor, esprima is a js parser that Meteor uses to build your project as part of the toolkit. Your project is fine and most likely isn't missing anything.

You may need to reinstall Meteor:

sudo rm -rf ~/.meteor
curl https://install.meteor.com | sh