说起来这件事真是太坑了,我pull了人人开源的一个前端项目,renren-fastvue。然后呢,按照他的前端搭建命令来搭建。发现死活搭建不起来。
一、地址过期猜想
首先发现node-sass下载不下来,我就以为是这个地址过期了。得用新的地址。
后来我换了几个地址,发现还是同样的问题。然后我就复制镜像地址到浏览器,然后发现,没有我要的这个版本。所以会报404。以后,换地址之前要先确认一下,是不是镜像地址换了。
二、官方项目拉下来可能有问题。
通过看日志,发现大概率是node-sass的版本的问题。这里也发现一个自己的缺点,我是一直盯着有报error的地方看。
再加上node-sass这里,项目一拉下来,就是6.0.1及以上版本。就一直没往更换node-sass版本的那方面想。
实在找不到是哪错了,看了下package-lock.json文件,发现node-sass是4.0版本的。
于是乎就在package.json里面node-sass的版本换成4.0.0的。结果一下就成功了。看来以后还是得抱着批评的心来做事,敢于质疑,敢于尝试
三、使用新的npm源和sass源
这个项目,我换台电脑就还是报错,还是报一样的错。
在解决这个问题的过程当中,又学了几招
npm install node-sass@^4.14.0 --registry=https://registry.npmmirror.com --sass_binary_site=https://www.npmmirror.com/mirrors/node-sass/
首先你要确定你的nodejs版本,cmd命令,用node -v来确定
nodejs和node-sass的对应版本(github官网确认)
如下图
然后再使用这个命令就可以成功了
npm install
四、用了还是下不下来,就去官网把这个包下载下来
Downloading binary from https://npm.taobao.org/mirrors/node-sass//v4.14.1/win32-x64-83_binding.node
Cannot download "https://npm.taobao.org/mirrors/node-sass//v4.14.1/win32-x64-83_binding.node":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
export HTTP_PROXY=http://example.com:1234
or configure npm proxy via
npm config set proxy http://example.com:8080
去官网或者其他能下载node-sass的地方,按照node-sass//v4.14.1/win32-x64-83_binding.node,版本根据上面的方法确定。下载好之后。把相应的放在包放在你的项目路径下面的\node_modules\node-sass\vendor\win32-x64-83中。
五、npm相关命令时间太长的问题
Downloading binary from https://npm.taobao.org/mirrors/node-sass//v4.14.1/win32-x64-83_binding.node
Cannot download "https://npm.taobao.org/mirrors/node-sass//v4.14.1/win32-x64-83_binding.node":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
export HTTP_PROXY=http://example.com:1234
or configure npm proxy via
npm config set proxy http://example.com:8080
删除 C:\Users\用户名\ 文件夹中的 .npmrc 文件
npm cache verify
npm config set registry https://registry.npmmirror.com
npm install