2014-10-19 82 views
1

我想要在Ubuntu上構建my own project written on OSX。它使用幾個npm包來構建自己。其中的一些依賴於npm包js-yaml,它依賴於一個名爲'esprima'的包。新鮮的Ubuntu 14.04安裝給我的錯誤,這個包不能被發現:在Ubuntu 64位上安裝js-yaml NPM軟件包的依賴問題

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

輸出告訴我,這可能是與傳統的二進制節點,但我要通過符號鏈接已經解決了這個問題節點指向nodejs,使用這個SO post: nodejs vs node on ubuntu 12.04

那麼,是什麼導致npm/node無法找到或者安裝這個包?

回答

0

所以我顯然已經通過手動安裝丟失的節點模塊解決了這個:

npm install esprima

顯然,這需要模塊esprima故宮模塊可以只找到它,如果它是「本地」 NPM安裝。如果這是有意/確定的行爲,那麼很高興知道:)