Node.js

Install Packages

Install by npm install <PACKAGE>

Packages that installed by npm install <PACKAGE> will automatically choose the latest avaliable version

Install by npm install

There are two situations:
  1. If package-lock.json exists, and current installed package version has satisfied the version inside package.json, then that package is not going to be installed again;
    1. If package-lock.json not exists, or not satisfy the version inside package.json, then it will install the package again and update the package version based on ~ and ^.

      Install by npm ci

      Installed by npm ci is similiar with npm install, except it will throw an excception when the version inside package-lock.json is not satisfied with the version inside package.json.

      Get the verion of package

      npm ls <PACKAGE> can get the package version. However, the version may not correct. Let’s assume the data inside package-lock.json is correct, rather than, for example, version and resolved doesn’t mathch.
      package is not installed, has package.json, no package-lock.json it will show UNMET DEPENDENCY <PACKAGE>@<PACKAGE_JSON_VERSION>
      package is not installed, has package.json, has package-lock.json it will show UNMET DEPENDENCY <PACKAGE>@<PACKAGE_LOCK_JSON_VERSION>
      package is not installed, no package.json it will go up and search parent folder’s version.
      package installed, no package.json, no package-lock.json will show <PACKAGE>@<PACKAGE_VERSION>.
      package installed, has package.json, no package-lock.json if version match will show <PACKAGE>@<PACKAGE_VERSION>, else will show <PACKAGE>@<PACKAGE_VERSION> invalid.
      package installed, no package.json, has package-lock.json will show <PACKAGE>@<PACKAGE_VERSION>.
      package installed, has package.json, has package-lock.json if all version didn’t match, will show <PACKAGE>@<PACKAGE_VERSION> invalid. if package, package.json match, package-lock.json doesn’t match, will show <PACKAGE>@<PACKAGE_VERSION>. if package, package-lock.json match, package.json doesn’t match, will show <PACKAGE>@<PACKAGE_VERSION> invalid. if package.json, package-lock.json match, package doesn’t match, will show <PACKAGE>@<PACKAGE_VERSION> invalid.

      Others

      update Node.js

      link global packages to local

      find node module

      using node-sass

      Node Registry

      puppeteer

      Publish package

      wsl npm install ENOENT: no such file or directory

      Webpack

      Terser webpack plugin support ios10

      cache-loader 坑

      问题: 在升级或降级 @fe/common 包时, 打包的时候并不会加载最新的包, 所以会导致构建或者逻辑有问题 解决方法: 删除 .cache-loader

      Typescript

      tslint -p . --type-check 可以改为 tsc --project ./tsconfig.json --noEmit && tslint -p ./tsconfig.json
      Link

      安装包 @sentry/cli 出现问题

      notion image
      notion image

      NPM 7 的 peerDependency 表现不一致

      notion image
      notion image

      © Jiyu Shao 2018 - 2025