windows下的node与cnpm配置踩坑
之前都是在mac下用,发现windows下要配置的还挺多,还出现了一些错误
主要解决以下错误
- node_global全局依赖存放路径配完了如何修改,为何卸载重安node都没变
- node_global运行修改命令没生效如何处理
- cnpm命令不被识别
- cnpm环境变量配置完了还不被识别
下载node及环境变量
去官网下载对应的exe,然后安装就好了,安装的时候注意选择add to path,就不用自己配置环境变量了。
最好再去环境变量那里检查一下,看一眼path里面有没有
为什么要配置环境变量
windows安装都要配置环境变量是因为,如果不安装,只有在node安装所在文件夹路径下运行node -v才识别,在别的地方就不认识该命令,为了让在其他地方也可运行该命令,所以才配置环境变量。
原因是,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。所以在path配置了,在任何文件夹下都可运行。
系统变量中除了path,还可以新建其他的,如下图圈出来的java_home
其他这些变量可通过%,在path中引用(上上一张图path的倒数第八个用到),方便以后java换地方了,直接改java_home就好了,也不用去path里找哪个是java的。
【总结】若想在哪里都运行命令,就配置到环境变量里,path里还可以用到其他系统变量,用%引用
测试node
测试是否安装成功,打开cmd运行node -v或npm -v不报错就成功了
配置全局包地址
配置一下npm下载下来的全局包放在哪里,在node安装目录下新建node_global和node_cache文件夹,然后运行如下命令
npm config set cache “C:\software\nodejs\node_cache”
npm config set prefix “C:\software\nodejs\node_global”
后面会说
- 如何验证是否成功
- 运行命令却失败
- 设置错了怎么更改
cnpm&全局设置错了如何解决
npm是node中自带的包管理工具,从国外下载比较慢,所以用淘宝镜像cnpm比较方便。使用如下命令安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
得到如下运行结果,里面有全局地址,查看一下是不是自己刚才设置的,是的话就成功了
不是的话,可以直接改.npmrc,我的就没成功
.npmrc一般都在C:\用户\"你的用户名字或Ad.."\.npmrc
打开之后修改如下即可:
prefix = D:\apps\nodejs\node_modules\node_global
cache = D:\apps\nodejs\node_modules\node_cache
然后再运行刚才的安装cnpm命令,应该就ok了,去查看刚才你设置的node_global下,就有cnpm包了
【注意!!!!!!!!!】
如果之前设置错了prefix和cache,发现再次设置总报错,不用把.npmrc删除,直接打开改了就好了,重新安装node是没用的,这个文件一定要改,我之前就手误打错了,还给node卸载重安发现没用
为cnpm修改环境变量(重要)
这个一定要配,npm模块安装的默认全局路径已经改到了相应的文件夹中,但是 这时候用户还是无法require这些模块,因为电脑系统现在还不知道你把默认路径给改了
- 首先在“系统变量”中新建,新建一个名为NODE_PATH的变量,变量值为:之前新建的用于存放全局模块的文件夹中的node_modules文件夹的绝对路径。(告诉系统 用户下载的全局模块在此处)。别把node_modules忘记了,cnmp包是在node_global的node_modules下的
C:\software\nodejs\node_global\node_modules
- 新建完NODE_PATH后,还需要告诉系统cnpm这个命令的位置,系统才可识别cnpm命令,安装完cnpm,打开会发现在node_global下有脚本文件,只要把该脚本文件的路径配置到环境变量下即可,复制该路径加到path里。
我的是如下路径,路径到底是什么还是看自己的cnpm脚本文件在哪里,跟从网上教程容易出错
C:\software\nodejs\node_global
然后,就可以在cmd运行cnpm -v查看是否可识别
还是报不可识别,就关了cmd重开一个再运行,我就是被这点坑了,配完了纳闷怎么还识别不了
上一篇: Hadoop分布式文件系统-HDFS
下一篇: 特征提取网络(分类)