2011-11-29 93 views
1

看到这个(JavaScript是我在DIR):不能要求本地模块节点

➜ javascript mkdir tmp 
➜ javascript cd tmp 
➜ tmp mkdir node_modules 
➜ tmp node --version 
v0.6.3 
➜ tmp npm --version 
1.1.0-alpha-2 
➜ tmp npm install plates 
[email protected] ./node_modules/plates 
➜ tmp node 
> p = require('plates') 
{} 
> p 
{} 
> p.bind 
undefined 
➜ tmp npm uninstall plates 
➜ tmp sudo npm install plates -g 
Password: 
[email protected] /usr/local/lib/node_modules/plates 
➜ tmp node 
> p = require('plates') 
Error: Cannot find module 'plates' 
    at Function._resolveFilename (module.js:334:11) 
    at Function._load (module.js:279:25) 
    at Module.require (module.js:357:17) 
    at require (module.js:368:17) 
    at repl:1:6 
    at REPLServer.eval (repl.js:80:21) 
    at Interface.<anonymous> (repl.js:182:12) 
    at Interface.emit (events.js:67:17) 
    at Interface._onLine (readline.js:162:10) 
    at Interface._line (readline.js:426:8) 

缺少什么我在这里?

+0

你的require.paths是什么? http://nodejs.org/docs/v0.3.1/api/modules.html – malletjo

+0

@JanLimpens尝试卸载npm并再次安装npm,因为您使用alpha而不是稳定版本。 – Raynos

+0

http://stackoverflow.com/questions/15471965/what-will-be-the-difference-in-requiremypackage-js-and-requiremypackage/15471995#15471995 –

回答

3

你的问题不是NPM或节点,你做对了。 (顺便说一下,npm会为你创建node_modules,你肯定不想用-g来安装它)。

这是一个板块问题。它看起来像它固定在此承诺:

https://github.com/flatiron/plates/commit/8934e2d4de88f951a28c6c1e555cd0bc6510a5ad

看起来他们碰到的版本0.2.2,但它不能被发布到NPM。我会报告一个问题。

+0

提交的问题:https://github.com/flatiron/ plates/issues/19 - 与此同时,您可以从源代码安装模块(将repo克隆到您的node_modules目录中即可使用)。 –