2010-08-31 44 views
5

我刚刚安装Yeti从雅虎,但是当我去http://localhost:8000/我得到这个:雪人问题 - 找不到模块“玉”

Error: Cannot find module 'jade' 
at loadModule (node.js:289:15) 
at require (node.js:420:14) 
at ServerResponse.render (/usr/local/lib/node/.npm/yeti/0.1.0/dependencies/express/view.js:258:46) 
at Object.<anonymous> (/usr/local/lib/node/.npm/yeti/0.1.0/package/lib/server.js:28:13) 
at pass (/usr/local/lib/node/.npm/yeti/0.1.0/dependencies/connect/middleware/router.js:67:31) 
at /usr/local/lib/node/.npm/yeti/0.1.0/dependencies/connect/middleware/router.js:80:14 
at EventEmitter._tickCallback (node.js:50:25) 
at node.js:773:9 

我也想提一提,我已经安装了这个使用Yahoo!的安装包http://yuilibrary.com/downloads/download.php?file=3716057163a82b4b00c2a00ab0bb186e

有没有解决这个问题?

回答

4

我没有安装yeti,但通过查看节点堆栈跟踪,它看起来像维护人员忽略了玉石模块。

从控制台尝试:

/usr/local/bin/npm install jade 

sudo /usr/local/bin/npm install jade 

取决于您的权限。

对其他缺失的模块重复。如果你仍然卡住,我可以下载并检查出来。

+1

现在,我得到:sudo:/ usr/local/bin/npm:找不到命令 – Uffo 2010-09-08 00:06:36

+0

也许安装程序没有安装npm二进制文件。也许看看你能否找到它。 '输入npm'是否会返回任何内容?/usr/local目录中是否有任何名为npm的文件? 'find/usr/local -name npm' – bxjx 2010-09-09 03:08:36

+0

如果npm是通过'curl http://npmjs.org/install.sh |安装的,那么可能二进制文件被安装到'/ usr/bin/npm'中。 sh'。不知怎的,我有'玉'的错误,我做了'sudo/usr/bin/npm install jade'。 – 2011-03-15 10:53:20

2

我解决了这个问题:

ln -s /usr/lib/node ~/.node_modules 

,所以该完整npm我安装过程是:

curl http://npmjs.org/install.sh | sudo sh 
ln -s /usr/lib/node ~/.node_modules 
sudo npm install jade 
node ./build.js 

(不使用sudo如果不要求)

20

我有这个问题使用th e“Express”框架,我通过在创建应用程序的目录中输入npm install -d来解决这个问题。

+2

这个标志实际上做了什么? – 2012-08-19 00:46:21

+0

@ShaneChin:Errr ...这只不过是一个详细的输出标志?请参阅'npm help config'或[这些文档](https://npmjs.org/doc/config.html)以供参考。最终效果只不过是将所有'package.json'的指定模块安装到本地目录中的'node_modules'中。 – Christopher 2012-12-19 04:32:12