关于windows中安装Nodejs模块的问题
关于windows中安装Nodejs模块的问题
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"了,安装其他模块也是如此,但是自定义模块用不着这样安装。
如果有错还请各位大牛指出啊!小弟在此谢过了!
关于Windows中安装Node.js模块的问题
在Windows系统中安装Node.js模块时,经常会遇到一些问题。本篇将详细介绍如何正确安装和配置Node.js模块,以确保模块能够被正确加载。
基础安装步骤
首先,确保你已经安装了Node.js和npm。可以通过以下命令检查是否已安装:
node -v
npm -v
如果尚未安装,可以从Node.js官网下载最新版本。
安装模块
安装模块的基本命令是在CMD或PowerShell中运行:
npm install <module-name>
例如,安装async
模块:
npm install async
模块无法找到的问题
假设你在编写一个JavaScript文件confirm.js
,其中引用了async
模块,但运行时报错can not find the module 'async'
。这通常是因为Node.js无法找到模块的路径。
配置npm路径
默认情况下,npm会在当前工作目录中安装模块。为了确保模块能被全局访问,你需要配置npm的全局安装路径。
-
设置全局安装路径:
在CMD或PowerShell中执行以下命令,设置全局安装路径:
npm config set prefix D:\node\forNpm
-
设置缓存路径:
设置npm的缓存路径:
npm config set cache D:\node\forNpm
-
设置全局安装标志:
设置全局安装标志为
true
:npm config set global true
-
配置环境变量:
添加一个新的环境变量
NODE_PATH
,指向全局模块的安装路径:- 打开“系统属性” -> “高级系统设置” -> “环境变量”
- 在用户变量部分,新建一个名为
NODE_PATH
的变量,值为D:\node\node_modules
验证安装
安装完成后,可以通过全局安装命令来验证模块是否安装成功:
npm install -g async
该命令会在指定的全局安装路径中安装async
模块,并显示安装的版本号和路径。
使用模块
现在,你可以在任何目录下创建并运行包含async
模块的JavaScript文件。例如:
// confirm.js
var async = require('async');
if (async) {
console.log('The module has been installed successfully!');
} else {
console.log('Error!');
}
运行该文件:
node f:/confirm.js
如果一切正常,你应该能看到输出The module has been installed successfully!
。
总结
通过以上步骤,你可以正确地在Windows系统中安装和配置Node.js模块,避免模块无法找到的问题。确保配置正确的全局安装路径和环境变量是关键。
针对您遇到的问题,主要是由于 npm
默认的全局安装路径与 Node.js 的执行路径不一致导致的。解决方法是配置 npm 的全局安装路径,并且设置 NODE_PATH
环境变量,使 Node.js 能够找到全局安装的模块。
以下是具体步骤:
-
设置 npm 全局安装路径: 打开命令行工具(CMD 或 PowerShell),输入以下命令:
npm config set prefix D:\node\forNpm npm config set cache D:\node\forNpm
这些命令将 npm 的全局安装路径设置为您指定的位置。
-
设置环境变量
NODE_PATH
:- 右键点击“计算机”或“此电脑”,选择“属性”。
- 点击“高级系统设置”。
- 在“高级”选项卡下,点击“环境变量”按钮。
- 在“用户变量”部分,点击“新建”,添加一个新的用户变量:
- 变量名:
NODE_PATH
- 变量值:
D:\node\forNpm\node_modules
- 变量名:
- 如果您希望所有用户都生效,可以在“系统变量”部分进行相同的设置。
-
安装模块: 现在您可以全局安装模块了,例如:
npm install -g async
-
验证安装: 创建一个简单的测试文件
confirm.js
:var async = require('async'); if (async) { console.log('The module has been installed successfully!'); } else { console.log('Error!'); }
运行该文件:
node confirm.js
如果一切正常,您应该会看到 “The module has been installed successfully!” 的输出。
通过以上步骤,您应该能够正确地在 Windows 上安装并使用全局 Node.js 模块。