Skip to main content

npm

npm 官网

基础知识

版本号命名

1.2.3-alive-amy-test-111

1: 主版本号-major —— 做了不兼容的修改(具有破坏性,升级需要特别注意) 2: 次版本号-minor —— 做了向下兼容的 feature 3:修订号-patch —— 做了向下兼容的 bug fix(以及一些小 feature) alive-amy-test-111: 先行版本号 [0-9A-Za-z-]。 一般有 alpha(不稳定),beta(基本稳定,苹果不是经常出一些 beta 版本让用户先行【测试 bug(不是)】体验,rc(基本算是正式版了),release(正式版)

版本号前的小符号

  • 【~】: 允许安装和更新到相同主要和次要版本的新版本。它只允许进行修补版本的升级,而不会升级到下一个次要版本。例如,"~1.2.3" 可以匹配 1.2.3、1.2.4,但不包括 1.3.0。
  • 【^】: 允许安装更高的次要和修补版本,但不允许升级到下一个主要版本。例如,"^1.2.3" 可以匹配 1.2.3、1.2.4、1.3.0 等版本。
  • *】:允许匹配任何版本。它表示无限制地接受任何新版本。这意味着在更新依赖时将获取最新可用的版本。但是要注意,使用该符号可能导致不可预测的行为和潜在的兼容性问题。

常见问题

node sass 的安装

windows 版本,低版本的 node,安装起 node-sass 真的是…… 一言难尽,有些公司内网场景下,你又没法把重设整个镜像源。 解决方案有三种

1. 设置.yarnrc 或者.npmrc

具体要哪个文件看你用什么指令

.yarnrc
sass_binary_site="https://npm.taobao.org/mirrors/node-sass"

2. 修改安装的镜像源,其实和第一个的作用差不多,就看自己的使用场景了。

yarn config set sass-binary-site http://npm.taobao.org/mirrors/node-sass
yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g
npm install -g node-gyp

3. 确认一下 node & node saas 版本匹配

node-sass npm 包

NodeJSSupported node-sass versionNode Module
Node 209.0+115
Node 198.0+111
Node 188.0+108
Node 177.0+, <8.0102
Node 166.0+93
Node 155.0+, <7.088
Node 144.14+, <9.083
Node 134.13+, <5.079
Node 124.12+, <8.072
Node 114.10+, <5.067
Node 104.9+, <6.064
Node 84.5.3+, <5.057
Node <8<5.0<57

3. resolutions 统一版本

❤❤❤: 如果项目没什么特别的坑的话,我自己最喜欢用这种方式来解决


因为 node-sass 其实现在已经不用了,改用 sass 来替代。所以我们在同一版本的时候,也可以直接使用 sass 来替代。

方法:

    1. 安装sass => yarn add sass -D
    1. resolutions 配置
package.json
"resolutions": {
"node-sass": file:./dependency-package/node-sass"
}
    1. 创建与 package.json 同级的 folder&file: dependency-package/node-sass/index.js
dependency-package/node-sass/index.js
module.exports = require('sass');

nvm

全局设置 https://juejin.cn/post/7139713925490147364