不能在节点中需要本地模块

时间:2011-11-29 23:14:51

标签: node.js npm

看到这个(javascript是我所在的目录):

➜  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
plates@0.2.1 ./node_modules/plates 
➜  tmp  node
> p = require('plates')
{}
> p
{}
> p.bind
undefined
➜  tmp  npm uninstall plates
➜  tmp  sudo npm install plates -g 
Password:
plates@0.2.1 /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)

我在这里缺少什么?

1 个答案:

答案 0 :(得分:3)

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

这是板块中的一个问题。看起来它已在此提交中修复:

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

看起来他们将版本提升到了0.2.2,但它一定不能发布到npm。我会报告一个问题。