Major node issue: Unable to build meteor app (Windows): \promise_server.js:116


#1

Have a few projects. Getting similiar errors related to Node/Demeteorizer. Has permanently blocked development, and we will need to switch off meteor if I can’t fix this. Repro is hard, because they are long term projects with a lot of code + packages. Note that I am using 1.3.2.4 for Modulus compatibility.
Have tried re-running/compiling on a clean install of node+npm+meteor.

Please help…

PROJECT 1 fails on UPDATE attempt from 1.2.1 to 1.3.2.4 (or to any other version)

meteor update --release 1.3.2.4

C:\Users\user1\AppData\Local\.meteor\packages\less\2.6.0\plugin.compileLessBatch.os\npm\node_modules\meteor\promise\node_modules\meteor-promise\promise_server.js:116
      throw error;
            ^
Error: ENOTDIR, readdir '<projectDirectory>\.meteor\local\isopacks\.build994576.ccbanker_template-banker\web.browser\client\js\settings\.builder-tmp-file.264146'

PROJECT 2 fails on BUILD (and thus on demeteorization)

meteor build <targetDir> --verbose

Local package version is up-to-date: accounts-base@1.2.7
Local package version is up-to-date: accounts-password@1.1.8
Local package version is up-to-date: aldeed:simple-schema@1.5.3
Local package version is up-to-date: allow-deny@1.0.4
Local package version is up-to-date: autoupdate@1.2.9
Local package version is up-to-date: babel-compiler@6.6.4
Local package version is up-to-date: babel-runtime@0.1.8
Local package version is up-to-date: base64@1.0.8
Local package version is up-to-date: binary-heap@1.0.8
Local package version is up-to-date: blaze@2.1.7
Local package version is up-to-date: blaze-html-templates@1.0.4
Local package version is up-to-date: blaze-tools@1.0.8
Local package version is up-to-date: boilerplate-generator@1.0.8
Local package version is up-to-date: caching-compiler@1.0.4
Local package version is up-to-date: caching-html-compiler@1.0.6
Local package version is up-to-date: callback-hook@1.0.8
Local package version is up-to-date: check@1.2.1
Local package version is up-to-date: ddp@1.2.5
Local package version is up-to-date: ddp-client@1.2.7
Local package version is up-to-date: ddp-common@1.2.5
Local package version is up-to-date: ddp-rate-limiter@1.0.4
Local package version is up-to-date: ddp-server@1.2.6
Local package version is up-to-date: deps@1.0.12
Local package version is up-to-date: diff-sequence@1.0.5
Local package version is up-to-date: ecmascript@0.4.3
Local package version is up-to-date: ecmascript-runtime@0.2.10
Local package version is up-to-date: ejson@1.0.11
Local package version is up-to-date: email@1.0.12
Local package version is up-to-date: es5-shim@4.5.10
Local package version is up-to-date: fastclick@1.0.11
Local package version is up-to-date: geojson-utils@1.0.8
Local package version is up-to-date: hot-code-push@1.0.4
Local package version is up-to-date: html-tools@1.0.9
Local package version is up-to-date: htmljs@1.0.9
Local package version is up-to-date: http@1.1.5
Local package version is up-to-date: id-map@1.0.7
Local package version is up-to-date: iron:controller@1.0.12
Local package version is up-to-date: iron:core@1.0.11
Local package version is up-to-date: iron:dynamic-template@1.0.12
Local package version is up-to-date: iron:layout@1.0.12
Local package version is up-to-date: iron:location@1.0.11
Local package version is up-to-date: iron:middleware-stack@1.1.0
Local package version is up-to-date: iron:router@1.0.13
Local package version is up-to-date: iron:url@1.0.11
Local package version is up-to-date: jquery@1.11.8
Local package version is up-to-date: launch-screen@1.0.11
Local package version is up-to-date: livedata@1.0.18
Local package version is up-to-date: localstorage@1.0.9
Local package version is up-to-date: logging@1.0.12
Local package version is up-to-date: mdg:validation-error@0.2.0
Local package version is up-to-date: meteor@1.1.14
Local package version is up-to-date: meteor-base@1.0.4
Local package version is up-to-date: meteorhacks:ssr@2.2.0
Local package version is up-to-date: minifier-css@1.1.11
Local package version is up-to-date: minifier-js@1.1.11
Local package version is up-to-date: minimongo@1.0.16
Local package version is up-to-date: mobile-experience@1.0.4
Local package version is up-to-date: mobile-status-bar@1.0.12
Local package version is up-to-date: modules@0.6.1
Local package version is up-to-date: modules-runtime@0.6.3
Local package version is up-to-date: momentjs:moment@2.14.4
Local package version is up-to-date: mongo@1.1.7
Local package version is up-to-date: mongo-id@1.0.4
Local package version is up-to-date: mrgalaxy:stripe@2.2.2
Local package version is up-to-date: npm-bcrypt@0.8.7
Local package version is up-to-date: npm-mongo@1.4.43
Local package version is up-to-date: observe-sequence@1.0.11
Local package version is up-to-date: ordered-dict@1.0.7
Local package version is up-to-date: promise@0.6.7
Local package version is up-to-date: random@1.0.9
Local package version is up-to-date: rate-limit@1.0.4
Local package version is up-to-date: reactive-dict@1.1.7
Local package version is up-to-date: reactive-var@1.0.9
Local package version is up-to-date: reload@1.1.8
Local package version is up-to-date: retry@1.0.7
Local package version is up-to-date: routepolicy@1.0.10
Local package version is up-to-date: sacha:spin@2.3.1
Local package version is up-to-date: service-configuration@1.0.9
Local package version is up-to-date: session@1.1.5
Local package version is up-to-date: sha@1.0.7
Local package version is up-to-date: spacebars@1.0.11
Local package version is up-to-date: spacebars-compiler@1.0.11
Local package version is up-to-date: srp@1.0.8
Local package version is up-to-date: standard-minifier-css@1.0.6
Local package version is up-to-date: standard-minifier-js@1.0.6
Local package version is up-to-date: templating@1.1.9
Local package version is up-to-date: templating-tools@1.0.4
Local package version is up-to-date: tracker@1.0.13
Local package version is up-to-date: ui@1.0.11
Local package version is up-to-date: underscore@1.0.8
Local package version is up-to-date: url@1.0.9
Local package version is up-to-date: webapp@1.2.8
Local package version is up-to-date: webapp-hashing@1.0.9

C:\Users\user2\AppData\Local\.meteor\packages\templating\1.1.9\plugin.compileTemplatesBatch.os\npm\node_modules\meteor\promise\node_modules\meteor-promise\promise_server.js:116
      throw error;
            ^
TypeError: Cannot call method 'split' of undefined

#2

To be clear: errors in promise_server.js are almost always errors elsewhere in your project – they are simply caught at that particular point. The more relevant information is the rest of the error which you have not included.

Reinstalling NPM and Node is very unlikely to solve your problem (because neither are necessary to have installed to use Meteor). The most helpful would be a fresh reinstall of Meteor, or (more likely) removing your <projectDirectory>\.meteor\local\* directories (skip the db directory if you need to preserve your database) since it has various cached objects.

Upgrading versions of Meteor will sometimes take some work. Everything possible is done to make the changes as painless as possible but it it’s not always avoidable. In order for the framework to move forward, you will sometimes need to refactor things. In fact, there is an entire section of the guide on migrating to Meteor 1.3 from 1.2 and that’s not evening mentioning all the packages that you depend on.

If you can’t provide a reproduction, I’d recommend upgrading individual packages you’re using that might have changed before upgrading Meteor. Just at first glance I see you’re trying to use the iron-router project, which has basically been abandoned and is known to have problems in Meteor 1.3.

Also, making a reproduction doesn’t need to be difficult just because you have a large project with a lot of code. Simply start deleting large amounts of code, disabling various entry points, and removing third-party packages until you see the problem going away. Then try transplanting your findings to a new project (with the same version using meteor create foobar --release 1.2.1) and share it. Generally speaking, you’ll find the problem during this process and if not, someone else will be able to help.