Windows安装Nodejs的模块和引用问题(cannot find moudel "xxx")?
发布于 13 年前 作者 sevencity 41318 次浏览 最后一次编辑是 8 年前

我的问题是node.js的包引用机制是怎么样的? 如何安装和配置让Moudle可以通过require(‘xxx’)的方式引用 或者说让 module.paths 会引用一个我希望的公共目录

我操作如下 在Windows里面部署node.js

1、MSI安装在 C:\Program FilesNodejs

2、环境变量PATH配好 node -v 0.6.14 npm --version 1.1.15 3、顺利用git安装npm 到C:\Program Files\nodejs\npm 然后在npm目录 install socket.io 文件应该下载到了 C:\Program Files\nodejs\npm\node_modules 但是测试时 一旦requires某个包 例如

var io = require(‘socket.io’).listen(8080);

node D:\www\server.js 就会报错cannot find moudel “xxx”

我已经尝试 1、在C:\Program Files\nodejs(安装目录)npm install ----增加了一个 C:\Program Files\nodejs\node_modules目录,里面有socket.io,但是报错依然

2、配置环境变量NODE_PATH到 C:\Program Files\nodejs\node_modules –无变化

3、在程序目录拷贝了一个socket.io –正常执行通过了

以上操作后,我都console.log(module.paths)了一下,输出的都是程序目录的路径 例如D:\node_modules\ ,D:\www\node_modules 等 如何才能加入 我希望的安装目录(C:\Program Files\nodejs\node_modules)?

4 回复

npm install socket.io 应该是在你的项目目录下执行

那如果我想在全局增加某个模块呢?)也就是每个项目不单独建立node_modules

npm  install socket.io -g

@sevencity npm install -gd 和npm link 可以用npm help link 看下指令说明. g代表全局, d代表相关依赖. 但是安装到全局后, 如果没有配置NODE_PATH环境变量,好像也不行

回到顶部