arunoda / meteor-up-legacy

Production Quality Meteor Deployments
MIT License
2.26k stars 396 forks source link

npm modules can't be found after deployment in both mup and mupx? #913

Open bmclain opened 8 years ago

bmclain commented 8 years ago

I use two npm modules in my meteor project: ebay-api and coupon-code. When I do a mup deploy everything seems to go well, but the mup logs show that it can't find ebay-api or coupon-code:

Error: Cannot find module 'coupon-code'
     at Function.Module._resolveFilename (module.js:338:15)
     at Function.Module._load (module.js:280:25)
     at Module.require (module.js:364:17)
     at require (module.js:380:17)
     at Object.Npm.require (/opt/AppName/app/programs/server/boot.js:150:18)
     at server/ebay.js:3:1
     at server/ebay.js:56:1
     at /opt/RelaySupplyControlPanel/app/programs/server/boot.js:242:10
     at Array.forEach (native)
     at Function._.each._.forEach (/opt/AppName/app/programs/server/node_modules/underscore/underscore.js:79:11)
     at /opt/AppName/app/programs/server/boot.js:137:5
     error: Forever detected script exited with code: `8`

If I go into /opt/AppName/app/programs/server/node_modules those packages aren't there, nor are they in /opt/AppName/app/programs/server/npm. They ARE in /opt/AppName/app/programs/server/npm/npm-container/node_modules though.

A work around I've used at the moment is to go into /opt/AppName/app/programs/server and run npm install ebay-api and npm install coupon-code which installs them locally in the node_modules directory and the app starts up fine. However as soon as I deploy again it wipes that out.

MasterJames commented 8 years ago

I'm not sure what happens with mup if the packages are installed locally vs globally. I thought to add that the dev branch here called mupx is the better choice so try that if you have not yet. Also note that there is a port of mupx over to kardirahq, and these versions are soon depreciated.

bmclain commented 8 years ago

Thanks for thr advice, I will give mupx a shot. The npm modules in question are installed locally in my source directory (home of my meteor project) instead of globally. What does mup typically expect, local or global?

I tried installing globally on the destination server but that didn't work, only a local install did which was interesting.

I will try installing globally on my dev server to see if mup picks it up before trying mupx.

bmclain commented 8 years ago

Installing the npm modules on my dev server globally rather than in my project folder doesn't seem to solve the issue.

bmclain commented 8 years ago

I also experience the problem with mupx:

 x Verifying deployment: FAILED

    -----------------------------------STDERR-----------------------------------
    g meteor app on port:80
    Cluster: connecting to 'mongodb' discovery backend
    Cluster: with options:  {}
    Cluster: registering this node as service 'web'
    Cluster:    endpoint url = http://XX.XX.XX.XX:80
    Cluster:    balancer url = http://somewebsite.com

    /bundle/bundle/programs/server/node_modules/fibers/future.js:245
                                                    throw(ex);
                                                          ^
    Error: Cannot find module 'ebay-api'
        at Function.Module._resolveFilename (module.js:338:15)
        at Function.Module._load (module.js:280:25)
        at Module.require (module.js:364:17)
        at require (module.js:380:17)
        at Object.Npm.require (/bundle/bundle/programs/server/boot.js:150:18)
        at server/ebay.js:2:1
        at server/ebay.js:56:1
        at /bundle/bundle/programs/server/boot.js:242:10
        at Array.forEach (native)
        at Function._.each._.forEach (/bundle/bundle/programs/server/node_modules/underscore/underscore.js:79:11)
        at /bundle/bundle/programs/server/boot.js:137:5

    => Redeploying previous version of the app

    -----------------------------------STDOUT-----------------------------------

    To see more logs type 'mup logs --tail=50'

    ----------------------------------------------------------------------------
MasterJames commented 8 years ago

Okay well thanks for trying that. Maybe post your settings file too please.

markshust commented 8 years ago

This project hasn't been updated a while. I don't think the ability to use Meteor 1.3's new npm compatibility with package.json exists yet in mup.

bmclain commented 8 years ago

This was with 1.2 in conjunction with meteorhacks:npm.

On Tue, Apr 5, 2016 at 1:09 PM, Mark Shust notifications@github.com wrote:

This project hasn't been updated a while. I don't think the ability to use Meteor 1.3's new npm compatibility with package.json exists yet in mup.

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/arunoda/meteor-up/issues/913#issuecomment-205951674