如何配置 npm 包自动更新
How to configure npm package to auto-update
我做了这个包:https://www.npmjs.com/package/nestjs-notifications
当我 运行 npm install nestjs-notifications --save
时,它将安装正常并添加到注册表中,但会将其保存为:
"nestjs-notifications": "0.0.10"
如何将其配置为安装语义版本为:
"nestjs-notifications": "^0.0.10".
目前无法自动获取新版本,我必须在package.json中手动更改版本。
编辑: 我的相关 config 设置如下(基本上是默认设置)。所以它应该用插入符号保存:
save = true
save-bundle = false
save-dev = false
save-exact = false
save-optional = false
save-prefix = "^"
save-prod = false
...
您遇到的是预期行为。使用 0.0.x
semver 安装任何 pkg 都不会在 package.json 中获得默认插入符号 (^
) 前缀,您的软件包也不会更新。
在 caret ranges 的 npm 文档中指出:
"Allows changes that do not modify the left-most non-zero digit in the [major, minor, patch]
tuple. In other words, this allows patch and minor updates for versions 1.0.0
and above, patch updates for versions 0.X >=0.1.0
, and no updates for versions 0.0.X
."
注意摘录(上)中的粗体强调是我添加的。
基本上,只有当您将包裹的 semver 提高到 >=0.1.0
之后,您才会开始获得所需的行为。
显示插入符号 (^
) 何时添加和未添加到 package.json:
的演示
安装 <0.1.0
版本的软件包。出于演示目的,我们将通过以下命令 运行 安装 eslint 版本 0.0.7
:
npm i eslint@0.0.7 --save
前面的命令将以下内容添加到 package.json:
"eslint": "0.0.7"
注意插入符号(^
)未包含在内。
现在通过 运行 执行以下命令卸载 eslint
:
npm un eslint --save
接下来安装 eslint
的第一个可用版本,即 >=0.1.0
,即 运行 以下内容:
run npm i eslint@0.1.0 --save
这次前面的命令将以下内容添加到 package.json::
"eslint": "^0.1.0"
注意插入符号(^
)已包含在内。
我做了这个包:https://www.npmjs.com/package/nestjs-notifications
当我 运行 npm install nestjs-notifications --save
时,它将安装正常并添加到注册表中,但会将其保存为:
"nestjs-notifications": "0.0.10"
如何将其配置为安装语义版本为:
"nestjs-notifications": "^0.0.10".
目前无法自动获取新版本,我必须在package.json中手动更改版本。
编辑: 我的相关 config 设置如下(基本上是默认设置)。所以它应该用插入符号保存:
save = true
save-bundle = false
save-dev = false
save-exact = false
save-optional = false
save-prefix = "^"
save-prod = false
...
您遇到的是预期行为。使用 0.0.x
semver 安装任何 pkg 都不会在 package.json 中获得默认插入符号 (^
) 前缀,您的软件包也不会更新。
在 caret ranges 的 npm 文档中指出:
"Allows changes that do not modify the left-most non-zero digit in the
[major, minor, patch]
tuple. In other words, this allows patch and minor updates for versions1.0.0
and above, patch updates for versions0.X >=0.1.0
, and no updates for versions0.0.X
."
注意摘录(上)中的粗体强调是我添加的。
基本上,只有当您将包裹的 semver 提高到 >=0.1.0
之后,您才会开始获得所需的行为。
显示插入符号 (^
) 何时添加和未添加到 package.json:
安装
<0.1.0
版本的软件包。出于演示目的,我们将通过以下命令 运行 安装 eslint 版本0.0.7
:npm i eslint@0.0.7 --save
前面的命令将以下内容添加到 package.json:
"eslint": "0.0.7"
注意插入符号(
^
)未包含在内。现在通过 运行 执行以下命令卸载
eslint
:npm un eslint --save
接下来安装
eslint
的第一个可用版本,即>=0.1.0
,即 运行 以下内容:run npm i eslint@0.1.0 --save
这次前面的命令将以下内容添加到 package.json::
"eslint": "^0.1.0"
注意插入符号(
^
)已包含在内。