npm常用命令

npm作为node.js的包管理器,所以安装了node.js会自动安装上npm node.js下载地址
安装完成node.js之后,只要在cmd中输入npm -v,如果出现了版本号,就表示安装成功

npm -v
6.12.1

1.npm设置
由于外网被墙的原因,在介绍其他npm命令之前,我们首先要解决npm安装包速度很慢的问题,有两种方式解决这个问题:
1.1 将npm注册地址设置成淘宝包镜像地址,这个方式是永久性的,只要设置一次,以后安装包都会从淘宝的镜像地址拉取

npm config set registry https://registry.npm.taobao.org 

1.2 安装cnpm,也就是淘宝的npm命令,以后安装包用cnpm代替npm即可。
安装包的命令是:npm install <package_name>

npm install -g cnpm --registry=https://registry.npm.taobao.org
// -g表示全局安装,意思就是在你的整个电脑中都是可用的,如果不加这个命令就表示本地安装,意思是只在当前项目里面起作用
// --registry=https://registry.npm.taobao.org 加这条的原因在于,你用npm去安装cnpm包,还是会被墙的,所以临时将注册地址改成淘宝镜像地址

以后安装包就需要使用cnpm命令来安装了

cnpm install xx包名

2.管理包

2.1 安装包

npm install element-ui
// 如果后面不跟包名,直接npm install 则会安装项目中依赖的所有包

2.2 查看已安装的包

npm list -g
├─┬ cnpm@6.1.1
│ ├── auto-correct@1.0.0
│ ├── bagpipe@0.3.5
│ ├── colors@1.1.2
│ ├─┬ commander@2.9.0
│ │ └── graceful-readlink@1.0.1
│ ├─┬ cross-spawn@0.2.9
│ │ └── lru-cache@2.7.3
// 会以树形的结构列出已安装包的信息
// 如果要查看某个包的信息,使用 npm list xx 包名即可
// list可以简写成ls

2.3 如果我们要安装指定版本的包,只需要在包名后面加上“@版本号”即可

npm install element-ui@2.13.0

2.4 卸载包

npm uninstall element-ui

2.5 更新包

npm update element-ui
// 默认会更新到包的最新版本

2.6 关于附加的命令:–save、–save-dev、-S、-D
我们在安装包的时候会经常附加这些命令:

npm install --save element-ui 
// 简写形式:npm install -S element-ui
// --save或-S写在包名前面或者后面效果相同
npm install --save-dev element-ui 
// 简写形式:npm install -D element-ui

在解释这个之前,我们先要知道:如果你使用 npm install 命令安装了包,在项目下面会生成一个package.json的文件,专门用来记录安装的包的信息,其中有两个对象:
dependencies:表示项目用于生产环境的依赖
devDependencies:表示项目用户开发环境的依赖
–save 命令就是将要安装的包信息保存在dependencies中
–save-dev 命令则是将要安装的包信息保存在devDependencies中
所以,我们一般会把像框架之类的如vue、react放在dependencies,那些loader、babel用于编译,工具性质的放在devDependencies
但实际上,我们即便是把vue放在devDependencies中,最后打包出来的项目也不会有任何问题。那么,这两个的本质区别在于发布包的时候(我们一般可能只会去使用包,而不会去写自己的包),保存在dependencies中的包会自动下载下来,而处在devDependencies中的包则不会。但是,当在我们的项目中,使用npm install 就全部下载下来了,自然就不会有什么区别了

3.常见问题
3.1 Cannot find module…
没有找到某个包,你只要安装下这个包即可
3.2 npm resource busy or locked…
你可以先清除node_modules,然后再安装

npm cache clean
npm install

3.3 对于很多安装失败的报错,或者长时间无法安装,或者一些奇奇怪怪的报错,可能都是由于被墙而导致请求超时发生的错误,参考 1.npm设置 即能解决问题

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值