总结:
对于本次npm安装的问题有:
- 权限问题。有时候vscode去权限不足,需要专门用管理者运行。
- 缓存问题(4048)。通过
npm cache clean --force
,或者手动删除C盘用户下的.npmrc
。 - 镜像源问题。有些时候npm镜像下载会出问题,可以采用淘宝镜像下载,通过
npm install -g cnpm --registry=https://registry.npm.taobao.org
,下载镜像。通过cnpm install
安装镜像。 - 或者通过设定镜像仓库
npm config set registry https://registry.npm.taobao.org
通过npm config get registry
,来查看目前使用的镜像源是啥。
以为下自己尝试的过程
描述:
- 前端项目下载下来通过npm install下载依赖,结果出现:4048
- 后面还有node-gyp的错误
解决路线
权限问题:
1,进入项目目录,把node_modules文件夹删除,package-lock.json文件也删除
2,以管理员身份运行CMD!以管理员身份运行CMD!以管理员身份运行CMD!
3,cd到项目目录,先清除npm缓存:
npm cache clean --force
4,再进行npm install
测试不好使。
确定了错误信息
通过查询发现自己的错误不单单是4048还有下面的信息:
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink '
所以应该用operation not permitted, unlink
来找方法
找到了一个:Error: EPERM: operation not permitted, unlink(连接为:https://www.jianshu.com/p/be1afcd8d672)
方法:
operation not permitted:操作不允许
1.排除是否有权限问题,可以用管理员身份运行一下。(这个问题解决了)
2.如果没有权限问题,可以在C:\Users{账户}\下的.npmrc文件. 即清除npm缓存
(也可以使用命令清除缓存 npm cache clean --force)
3.再次运行npm i: ok啦
之前的4048没有了。现在有出现了新的错误。
这里附录的node-gyp的GitHub地址:https://www.npmjs.com/package/node-gyp
新错误:
gyp ERR! stack Error:
gypfailed with exit code: 1
这里注意一个细节,之前的npm安装已经结束了,这里是gyp的问题。
网上的答案都是写在旧的gyp安装新的:
注意这里是linux指令不是Windows下的删除,
Windows下可以用npm uninstall -g node-gyp
,如果出错可以手动到目录下进行删除,博主之前就是这样删除的vue-cli
~$ rm -rf ~/.node-gyp/
~$ npm i -g node-gyp
~$ rm -rf 项目/node_modules
~$ npm i -d
由于我之前没有安装过gyp,所以没有卸载。
删除之前的node_modules文件。清除.npmrc重新npm install
删除的时候需要管理员身份,选择文件夹通过shift+delete
键进行删除。
删除了node_modules重新npm install
还是报错了。
有推荐是现在淘宝镜像 通过cnpm进行安装
链接:
成功。