nvm 管理 node 版本
首先先把全局安装的 packages 记录下来
1 | # 列出所有全局安装 package |
/Users/eva/.nvm/versions/node/v10.15.3/lib
├── @vue/cli@3.5.2
├── eslint@5.15.3
├── express@4.16.4
├── gulp-cli@2.1.0
├── hexo-cli@1.1.0
├── npm@6.9.0
├── nrm@1.1.0
├── webpack@4.29.6
├── webpack-cli@3.3.0
└── yo@2.0.5
然后把原来全局安装的 node 删掉,反正以后也不用了
1 | # 删除全局安装的 package |
安装 nvm
1 | curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash |
修改环境变量
1 | export NVM_DIR="$HOME/.nvm" |
查看手册
1 | # 列出所有命令 |
LTS是基础库的开发者对库的使用者的一个承诺,保证某个版本的库发布之后的很长一段事件之内都得到支持。如果此版本发现一些紧急问题需要修复,那么就会在这个版本上进行更新。通常这些问题的修复都不会导致 API 变化(API 保证长期兼容),所以版本号的前两位是不变的,通常只变化第三位。
安装全局 package
1 | npm i -g @vue/cli eslint express nrm webpack webpack-cli gulp |
一般不要随便切换 node 版本,如果要切换,记得把全局安装的 packge 重新安装在那个 node 版本下。
1 | nvm install v12.0.0 --reinstall-packages-from=8.0.0 |
nrm 管理 npm 源
1 | nrm ls |
npm —- https://registry.npmjs.org/
* cnpm — http://r.cnpmjs.org/
taobao - https://registry.npm.taobao.org/
nj —– https://registry.nodejitsu.com/
npmMirror https://skimdb.npmjs.com/registry/
edunpm - http://registry.enpmjs.org/
这样就可以方便的管理 npm 的源。
npm私服
如果公司内部搭建了私有的 npm,也使用 nrm 也可以更好切换和管理。
比如我有个 npm 私服
1 | nrm add eva http://registry.npm.evacoder.com/ |
指定好源之后,还是用 npm 命令,而不用使用 cnpm 等命令。
私服不会全量同步 npm 包,有时候找不到时需要手动同步下 package。
1 | curl -X PUT http://npm.evacoder.com/sync/[package] |
发布自己的 npm package
其实 npm package 就是一个自己写的 js export 出来而已。发布一个 package 只需要
1.写代码,2.注册 npm 帐号(私服就addUser),3.发布
1 | # 注册登录 |
package.json
1 | { |
代码
1 | module.exports = 'hello Eva'; |
发布
1 | # 发布 |
使用
1 | cd demo |
具体的 编写高质量npm package 的详细内容将在 sdk 编写心得中展开来说