npm的一些简单整理
关于npm的使用一直不是很熟练,想要操作一些东西的时候总要查一下,觉得太麻烦了,所以这次就准备整理一下使用npm过程中的一些命令,以方便日后快速查询
全局安装和本地安装
1 | npm install module-name # 本地安装 |
全局安装和本地安装区别
本地安装
- 将安装包放在 ./node_modules 下(运行npm时所在的目录)
- 可以通过 require() 来引入本地安装的包
全局安装
- 将安装包放在 /usr/local 下
- 可以直接在命令行里使用
删除依赖模块
1 | npm uninstall module-name # 删除模块,但不会删除dependencies中信息 |
pockage.json
介绍
每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。
那么可以看出来package.json在项目中是很重要的,是一些配置信息,那么实际运行过程中可能需要一些包的支持,使用npm install
即可完成安装。
将依赖模块添加到package.json中
使用--save
和--save -dev
可以省掉手动修改package.json文件的部分,这里面就涉及到二者的区别了。
1 | npm install module-name --save |
自动把模块和版本号添加到dependencies
部分。而
1 | npm install module-name --save-dev #现在会报错,已被遗弃? |
自动把模块和版本号添加到devdependencies
部分。
那么dependencies
和devdependencies
有什么区别呢?
前者是项目运行时的依赖模块,后者则是项目开发时的模块。那么什么意思呢?项目运行意思就是在实际运行时候依赖的模块,而开发时候依赖的模块可以理解为开发时候依赖的模块,开发时候依赖的模块实际运行时未必需要。举个例子,比如说我使用less来写样式,最后编译成css,那么less就是我在开发时候依赖的模块,但是实际运行时侯并不需要less模块。
———————2019.7.17—————–
npm发布相关
这个发布真的是花了不少时间。依次整理一下遇到的问题。
1. 2FA验证问题
双重验证有三个模式,分别是只在登陆删除package的时候需要验证(较严格),还有发布等等时候也要验证(最严格),以及最后的无需验证。如何使用双因素身份验证
这里需要手机装个App,不过需要Google服务,最后手机直接下了个谷歌空间了事。
2. 发布仓库地址
1 | npm config set registry http://registry.npmjs.org |
后面可以根据需要自行改动,不过nrm可以管理npm仓库地址
1 | nrm #展示nrm可用命令 |
3. publish Failed PUT 401
发布的是已经存在的包,且不是发布者,就会报这个错,解决方法:加作用域。
即在package.json文件的name前面加上@用户名/
,也可以使用命令行
1 | npm init --scope=@qxiaoqi -y |
注意这里一定要是自己的用户名,不正确的话,会报403错误。
4. publish Failed PUT 402
npm默认是私有发布,需要收费。公共发布命令行
1 | npm publish --access public |
发布小结
搞了半天终于搞好了,以致于发布成功之后收到邮件还有点小激动。。。
- 感谢你的欣赏!