前言

作为一个常年以c,c++,golang为主的后端程序员,刚接触nodejs有一个困惑,就是node有哪么多版本到底该选择哪个版本呢?

node版本

根据需求选择版本,那么node版本有哪些特点呢?

  1. 从node 6 开始支持ES6
  2. 从node 8 开始支持Async Await
  3. node 10 增加了promisified fs模块
  4. node 12增加了ES6 modules

从上面应该注意到node偶数版本是稳定版本(类似于linux)。

如何管理多个node版本

一句话:复用nvm管理node。

Windows请参考nvm-windows

如何选择正确的npm package

在哪里选

npmjs

从哪几个维度选择

  1. Popularity
  2. Contributors
  3. Maintenance
  4. Size
  5. Quality
  6. npm trends
  7. dependencies

如何对比同类型的npm package

使用npmcompare

npm install Error: rollbackFailedOptional

1
2
ia@IA:~$ npm install -g truffle
[..................] - rollbackFailedOptional: verb npm-session 9af9b18d6d36c6ee

解决方法:

1
2
3
4
npm config rm proxy 
npm config rm https-proxy
npm config set registry https://registry.npmjs.org/
npm config set registry https://registry.npm.taobao.org 

integrity checksum failed when using sha512

1
2
silly fetchPackageMetaData error for truffle@latest sha512-lhd8pfO5bOIwmiZf0+RyLcdWtrmeoA9JkdH9o0uQxZabisa6IxfoACRBpBez3r3w+LGPnl9/K1stE3Z9aBNK0A== integrity checksum failed when using sha512: wanted sha512-lhd8pfO5bOIwmiZf0+RyLcdWtrmeoA9JkdH9o0uQxZabisa6IxfoACRBpBez3r3w+LGPnl9/K1stE3Z9aBNK0A== but got sha512-4wB4Qu27nyZfMy9ZFzkCs/PGaaQx8W+bKug46AP5N/4BGCiT2Uw5tqq39Ip4VXXeISdok3LXb7r7A066wx3/Zw==. (15722953 bytes)
9 timing stage:rollbackFailedOptional Completed in 2ms

解决方法: 删除node_modules和package-lock.json,然后再重新执行:npm install

install yarn

How to install Yarn on Ubuntu

How to Install Yarn on Ubuntu 18.04

常用NPM Packages

73 Awesome NPM Packages for Productivity

npm cmd

  1. npm doctor
  2. npm cache
  3. npm link
  4. npm ls
  5. npm search
  6. npm repo