关于windows中安装node模块的问题
发布于 10 年前 作者 yyrdl 4802 次浏览 最后一次编辑是 8 年前

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"了,安装其他模块也是如此,但是自定义模块用不着这样安装。

如果有错还请各位大牛指出啊!小弟在此谢过了!

回到顶部