NPM 错误、问题等汇总


一.

npm的作用就是对Node.js依赖的包进行管理,也可以理解为用来安装/卸载Node.js需要装的东西

 

二.

 

1. 修改npm配置为淘宝的源下载:

 

npm install -g cnpm --registry=https://registry.npm.taobao.org

 

 

2. 安装node-sass:

 

cnpm install node-sass

 

 

3. 删除安装失败的依赖:

 

rm -rf node_modules/

 

 

4. 清除缓存:

 

npm cache clean

 

npm cache verify

 

 

5. 删除代理(Error:rollbackFailedOptional: verb npm-session 585aaecfe5f9a82):

 

npm config rm proxy

 

npm config rm https-proxy

 

 

6. 全局安装webpack和webpack-cli(Error:Error: Cannot find module 'webpack'):

 

npm install -g webpack

 

npm install -g webpack-cli

 

 

7. 安装webpack和webpack-cli到项目中:

 

npm install --save-dev webpack

 

npm install --save-dev webpack-cli

 

(–save : dependencies 键下,发布后还需要依赖的模块.;–save-dev : devDependencies 键下,仅在开发时依赖的模块)

 

 

8. 删除webpack,重新装以前的版本(Error: Rule can only have one resource source (provided resource and test + include + exclude)):

 

删除全局webpack-cli:

 

npm uninstall -g webpack-cli

 

删除本地(局部)webpack-cli:

 

npm uninstall -g webpack

 

删除本地webpack:

 

npm un webpack

 

npm install webpack@^4.0.0 --save-dev

 

 

9. npm的显示所有配置信息:

 

npm config list

 

 

10. 安装node-gyp(gyp ERR! not ok):

 

node-gyp,是由于node程序中需要调用一些其他语言编写的 工具 甚至是dll,需要先编译一下

 

npm install -g node-gyp

 

 

11. 查看npm的本地仓库:

 

npm list -global

 

 

12. 测试是否安装成功:

 

vue -V

 

 

13. 查看源地址:

 

npm config get registry

 

npm config get prefix

 

 

14. 开始创建项目:

 

vue init webpack 项目名

 

 

15. npm i 和 npm install区别:

 

实际使用的区别点主要如下(windows下):

 

1) 用npm i安装的模块无法用npm uninstall删除,用npm uninstall i才卸载掉

 

2)npm i会帮助检测与当前node版本最匹配的npm包版本号,并匹配出来相互依赖的npm包应该提升的版本号

 

3)部分npm包在当前node版本下无法使用,必须使用建议版本

 

4) 安装报错时intall肯定会出现npm-debug.log 文件,npm i不一定

 

 

16.(Error: EPERM: operation not permitted, mkdir 'XXXX")

 

删除C:\Users{你的用户文件夹}/目录中的.npmrc文件 

 

 

17.  安装vue.js:

 

npm install vue -g

 

 

18. 查看安装的vue信息:

 

npm info vue

 

 

19. 安装webpack模板:

 

npm install webpack -g

 

 

20. 安装webpack-cli(webpack将命令相关的内容都放到了webpack-cli):

 

npm install --global webpack-cli