node.js安装模块在windows中,只要在cmd 中输入npm install name
name为要安装的模块名;
本来以为这样就好了,但是写了一个confirm.js文件,
var async=require(‘async’) ;
if(async)
console.log(‘The module has been installed succesfuly!’)
else
console.log(‘Error!’);
文件写好之后用node e:/node/confirm.js一运行,结果却是can not find the module 'async’;
明明是已经将模块安装成功的了呀,为什么会找不到!!???
首先要说明的是我的node安装在了D盘,测试文件都在E盘。
在网上找npm安装的资料,想找到npm安装的细节问题,发现使用npm 安装模块的路径是当前路径,
所以又继续写了一个realpath.js文件,看看当前路径到底是哪儿。
这个是realpath。js里面的代码
var fs=require(‘fs’);
fs.realpath('’,function(err,path){console.log(path)});
使用node e:/node/realpath.js(e:/node/realpath.js这个是我的realpath.js文件的路径)运行后,cmd窗口输出c:\users\Administrator
果不其然我在c:\users\Administrator找到了之前安装的模块,不过模块安装在这里没啥用啊,又require不到,最后想了一个暴力的方法,直接将安装的模块文件剪切到了node安装位置的node_modules文件夹下 ,但是最终还是不能require到
几经周折,终于让我Kill掉了这个问题。
首先,需要将设置npm 环境,在cmd下,输入
npm config set prefix D:\node\forNpm(这个路径是我用来保存npm安装时的相关文件的)接着下一个命令
npm config set cache D:\node\forNpm 下一个命令
npm config set global=true(注意这个原本值为false,修改之后无法再次修改,还不清楚有什么副作用)
然后添加windows环境变量,在用户变量那里添加名为NODE_PATH值为D:\node\node_modules的环境变量
这些配置好之后可以开始安装模块了 (图片没了,复制不过来,有兴趣去我的博客看完整版吧http://lsdrzj.lofter.com/) 如图所示,在npm install async 后面加上-g表示全局安装,成功后会显示安装的版本号和安装位置。
如果你以为到此就OK了的话,那就大错特错了!不得不说甚是麻烦!
接着你按照显示的目录(有可能是隐藏的,先把windows设置成显示隐藏文件吧),找到安装成功的文件的文件async,把他复制(剪切也可以)到刚刚设置的环境变量的目录下,即“然后添加windows环境变量,在用户变量那里添加名为NODE_PATH值为D:\node\node_modules的环境变量”这个路径,也就是你的node的安装路径,一般windows安装完之后,在安装路径下会有一个名为node_modules的文件夹,里面有一个npm文件夹(表明npm是安装程序自带的 ),这步完成后就OVER啦!
现在你可以在任意盘写一个js文件,假如我把上面的confirm.js放在f盘,在cmd里输入node f:/confirm.js 一回车你会发现不会显示can not find the module "async"了,安装其他模块也是如此,但是自定义模块用不着这样安装。
如果有错还请各位大牛指出啊!小弟在此谢过了!