Wed, Oct 20, 21, install nodejs versions and shorthand cli options

Thi

  • /NPM-install
  • Install NodeJS & NPM

    Install multiple versions

    First, need to install nvm. Run the line of curl and then run/add-to-bash the line of export.

    ::: warning Below commands are mostly for Linux/MacOS users. :::

    ::: col-2-equal

    # FIRST INSTALL: the most recent lts release
    nvm install --lts
    
    # install a specific version
    nvm install 12.13.0
    
    # install latest version
    nvm install node
    
    # list all installed versions
    nvm ls
    
    # set default version of node
    nvm alias default 12.13.0
    
    # full list of available versions
    # be careful, it's too long!!!
    nvm ls-remote
    
    # switch between versions
    nvm use 12.13.0
    # or (more quickly)
    nvm use v15
    
    # uninstall some version
    nvm uninstall 12.13.0
    

    :::

    Single version

    👉 Install NodeJS and NPM: Windows & MacOS, Linux.

    ::: col-2-equal

    # UPDATE npm
    npm cache clean -f # clear the cache first
    sudo npm install -g npm
    
    # UPDATE node
    sudo npm install -g n
    sudo n stable
    # refresh the shell
    source ~/.zshrc # if using zsh
    source ~/.bashrc # is using bash
    
    # Check version
    npm -v
    node -v
    

    :::

    Shorthand CLI options

    • i: install
    • -D: --save-dev (devDependencies)
    • -P: --save-prod (default), --save
    • -g: --global
    • -f: --force
    • ls: list

    Install package

    👉 Official documentation.

    npm install package_name # if it's in package.json, the indicated version will be installed
                             # otherwise, the newsest version will be installed
    npm install --global package_name # global package
    
    # install all package in package.json
    npm install
    
    # install + save to package.json
    npm install --save package_name # save to package.json
    npm install --save-dev package_name # save to package.json, in devDependencies
    npm install --no-save package_name # don't save
    
    # install with version
    npm install [email protected]
    
    # install a local package
    npm install /path/to/package
    
    # from github repository
    npm i git+https://github.com/abc/xyz.git # https
    # or
    npm i git+ssh://[email protected]/abc/xyz.git # ssh
    
    # list all installed packages (current project only)
    ls node_modules
    
    # list all local (installed) packages
    npm list # -g for globel # or use "ls"
    npm list --depth=0 # without dependencies
    
    # Check the current version of a (installed) package
    npm list package_name # with "-g" for global
    
    # Check the latest (not current) version of a package
    npm view package_name version
    
    # Set python2 by default when installing npm packages
    npm config set python python2
    

    Update package

    ::: col-2-equal

    # which global packages need to be updated?
    npm outdated -g --depth=0
    
    # update all global packages
    npm update -g
    
    # update a package
    npm update package_name # -g for global
    

    :::

    Remove package

    npm uninstall package
    

    Run scritps

    # Install first
    npm i --save npm-run-all
    

    ::: col-2-equal

    // Run sequentially,
    // package.json
    "scripts": {
    	"build": "run-s prod:*", // "run-s" = "npm-run-all -s"
    	"prod:eleventy": "eleventy",
    	"prod:parcel": "parcel build ./ -o ./",
    }
    
    // Run parallely,
    // package.json
    "scripts": {
    	"start": "npm-run-all --parallel dev:*",
    	"dev:eleventy": "eleventy --serve",
    	"dev:parcel": "parcel watch ./ -o ./",
    }
    

    :::

    The following wiki, pages and posts are tagged with

    TitleTypeExcerpt
    Jekyll + liquid post Monday-jekyll-liquid, jekyll install on mac and ubuntu using docker
    keycode css trics for search focus post Wednesday-keycode, how to find keycode for the kb input keys
    Djangovue a fastrack to success page summary.

    {# nothing on index to avoid visible raw text #}