我现在正在Windows上学习nodejs。有几个模块是通过npm全局安装的。nodejs无法找到已安装的模块。以玉为例,
npm install jade -g
Jade安装在“C:\Program Files (x86)\nodejs\node_modules”目录下,但下面的代码将失败,并提示“无法找到模块' Jade '”错误。
var jade = require('jade');
然而,当jade在本地安装时(npm中没有-g选项),代码将成功运行。我不想使用本地安装的模块,这对我来说是浪费磁盘空间。如何使全局安装的模块在Windows上工作?
尝试添加/编辑环境变量,得出结论:
Edit/add User variables (of the upper box) instead of System variables (of the lower part); otherwise you have to "run as administrator" to get it work.
Append ;%AppData%\npm to Path in order to use it as a command line tool (if supported, like jshint and grunt-cli).
Create NODE_PATH and set it %AppData%\npm\node_modules in order to require('<pkg_name>') in scripts without install it in the project directory. (But npm link is suggested for this requirement if you're working on OS with mklink such as Vista and newer.)
测试环境:
赢7 (Ent。, 64位,SP1), Node.js 4.2.4, npm 2.14.12
win8.1 (Ent。, 64位),Node.js 0.10.30, npm 1.4.21