关于npm那些坑
博主现在使用的是npm@4.6.1版本,node@8.0.0版本
npm@4.6.1在科学上网和直接使用官方源的情况下,安装包好像还没出现过问题
建议:
除了出问题就去网上找答案外,要懂得去看错误日志,里面能比较详细的知道错在哪,错误日志的位置一般npm安装报错的时候都会提示(一般是在
C:\Users\xx\AppData\Roaming\npm-cache\_logs
下的某个文件)
(2017/11/8)还没有与node9.5.1相配的npm版本
npm现在最高是5.5.1,在node9.5环境下不能使用,得换低版本的node环境
npm@5.5.1安装npm@4.6.1时报错:npm ERR! C:\Users\xx\AppData\Roaming\npm-cache\_cacache is not a legal HTTP header value
去C:\Users\xx\AppData\Roaming
把npm-cache文件夹整个删了再重新执行命令,可能会解决问题,记得翻墙,翻墙还不行再不翻墙试试,记得每次执行前把npm-cache删了(如果还是出上面那个错的话)
npm@5安装模块时老是报各种错npm err!
5.0.0还是5.5.1都是如此,高版本还是坑太多,老老实实用4.6吧
npm安装cnpm装不上
看提示应该是网络问题,多试几次就好了,或者换个镜像装装。cnpm的话有两个:npm install -g cnpm --registry=http://r.cnpmjs.org
或者用淘宝的npm install -g cnpm --registry=https://registry.npm.taoba.org
切换npm版本
用npm install npm@版本号 -g
可以实现重装npm到指定版本,安装结束后,npm -v
可以看到已经变成指定的那个版本了,而且用npm list -g --depth=0
可以看到npm@版本号 那个包,是不是很奇怪,npm自己安装npm,结果是在npm全局那边多了个相应版本号的npm包,那现在这个npm到底是原本的npm还是指定的那个npm,npm -v
是指定的那个npm,但是后来在安装包的时候发现还是回报之前npm安装时的错,查看错误日志才知道,原来它安装的时候还是用的原本的那个npm,让博主很懵逼。
另外,如果是按这个教程待填重新指定了npm全局安装的地址,那之后再用npm install npm@版本号 -g
重装npm时,如果出错,原本装好的全局npm会被清掉,然后新的又没装上,导致系统没有npm,这又得去改系统环境变量让原本node自带的npm起作用,重装一个全局的npm之后再重新配系统环境变量,略坑。