1
votes

I am trying to get my own project written on OSX to build on Ubuntu. It uses several npm packages to build itself. A few of them depend on the npm package js-yaml, which in it's turn depends on a package called 'esprima'. A fresh Ubuntu 14.04 installation gives me the error that this package can not be found:

module.js:340 throw err; ^ Error: Cannot find module 'esprima' 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. (/home/michahell/Documents/projects/pinbored-webkit/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js:4:15) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) npm ERR! weird error 8 npm WARN This failure might be due to the use of legacy binary "node" npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian

The output tells me that it might have something to do with the legacy binary node, but i should have solved this problem by symlinking node to point to nodejs, using this S.O. post: nodejs vs node on ubuntu 12.04

So, what is causing npm / node to not be able to find or install this package?

1

1 Answers

0
votes

So i have apparently solved this by manually installing the missing node module:

npm install esprima

Apparently, the npm module requiring this esprima module could just find it if it was 'locally' npm installed. If this is intended / deterministic behaviour, that's nice to know :)