cutting-room-floor / tilestream

A high-performance map tile server powered by MBTiles files
BSD 3-Clause "New" or "Revised" License
744 stars 106 forks source link

Tilestream won't start properly if HOME environment variable is unset #155

Open wrigby opened 8 years ago

wrigby commented 8 years ago

See above - I may throw together a PR to fix this. The environment variable is fetched to build the help, and then passed into path.join, which barfs on undefined.

I discovered this when trying to run Tilestream as a daemon using the (fabulous) supervisord. The symptom looks like:

/usr/lib/node_modules/tilestream/node_modules/bones/server/plugin.js:108
        if (err.code !== 'ENOENT') throw err;
                                         ^
TypeError: Arguments to path.join must be strings
    at path.js:360:15
    at Array.filter (native)
    at Object.exports.join (path.js:358:36)
    at Object.<anonymous> (/usr/lib/node_modules/tilestream/commands/global.bones:28:21)
    at Module._compile (module.js:456:26)
    at Object.require.extensions..bones (/usr/lib/node_modules/tilestream/node_modules/bones/server/plugin.js:32:12)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)

Hopefully that will catch anybody googling for this :)