欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows下的node与cnpm配置踩坑

程序员文章站 2022-07-14 15:19:41
...

之前都是在mac下用,发现windows下要配置的还挺多,还出现了一些错误
主要解决以下错误

  • node_global全局依赖存放路径配完了如何修改,为何卸载重安node都没变
  • node_global运行修改命令没生效如何处理
  • cnpm命令不被识别
  • cnpm环境变量配置完了还不被识别

下载node及环境变量

去官网下载对应的exe,然后安装就好了,安装的时候注意选择add to path,就不用自己配置环境变量了。
最好再去环境变量那里检查一下,看一眼path里面有没有
windows下的node与cnpm配置踩坑

为什么要配置环境变量

windows安装都要配置环境变量是因为,如果不安装,只有在node安装所在文件夹路径下运行node -v才识别,在别的地方就不认识该命令,为了让在其他地方也可运行该命令,所以才配置环境变量。
原因是,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。所以在path配置了,在任何文件夹下都可运行。
系统变量中除了path,还可以新建其他的,如下图圈出来的java_home
windows下的node与cnpm配置踩坑
其他这些变量可通过%,在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

得到如下运行结果,里面有全局地址,查看一下是不是自己刚才设置的,是的话就成功了
windows下的node与cnpm配置踩坑
不是的话,可以直接改.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里。
    windows下的node与cnpm配置踩坑
    我的是如下路径,路径到底是什么还是看自己的cnpm脚本文件在哪里,跟从网上教程容易出错
C:\software\nodejs\node_global

然后,就可以在cmd运行cnpm -v查看是否可识别
还是报不可识别,就关了cmd重开一个再运行,我就是被这点坑了,配完了纳闷怎么还识别不了