Javascript 如何在npm安装过程中添加带有波浪线或插入符号的npm依赖项

Javascript 如何在npm安装过程中添加带有波浪线或插入符号的npm依赖项,javascript,node.js,npm,npm-install,npm-publish,Javascript,Node.js,Npm,Npm Install,Npm Publish,我开发了一个npm模块(我们称之为module-x),定期在npm平台上更新和发布 使用此模块的软件通过运行npm i module-x来安装它,但在包的依赖项部分。json模块-x安装有固定版本(module-x:“1.0.0”) 我想使用tilde或caret版本,而不是像这样的“module-x”:“~1.0.0” 我已经看到像request这样的库可以做到这一点,但是它们是如何做到的呢 文件package.json中的前缀(无论是^还是~或无)取决于安装包的机器上npm的设置,而不是项目

我开发了一个npm模块(我们称之为
module-x
),定期在npm平台上更新和发布

使用此模块的软件通过运行
npm i module-x
来安装它,但在
包的依赖项部分。json
模块-x安装有固定版本(
module-x:“1.0.0”

我想使用tilde或caret版本,而不是像这样的
“module-x”:“~1.0.0”


我已经看到像
request
这样的库可以做到这一点,但是它们是如何做到的呢

文件
package.json
中的前缀(无论是
^
还是
~
或无)取决于安装包的机器上npm的设置,而不是项目的设置。从您的示例中,您作为
module-x
的创建者,无法强制依赖项的用户安装
module-x:“^1.0.0”
module-x:“~1.0.0”
。这是他们的选择如何安装它,因此如何更新它

你可以:

  • 请他们手动为您的依赖项添加前缀
  • 要求他们使用
    npm config set save prefix“~”
    更改npm命令的全局设置(这将导致他们的所有安装都使用~prefix)

  • package.json
    文件中的前缀(无论是
    ^
    还是
    ~
    或无)取决于安装包的计算机上的npm设置,而不是您的项目设置。从您的示例中,您作为
    module-x
    的创建者,无法强制依赖项的用户安装
    module-x:“^1.0.0”
    module-x:“~1.0.0”
    。这是他们的选择如何安装它,因此如何更新它

    你可以:

  • 请他们手动为您的依赖项添加前缀
  • 要求他们使用
    npm config set save prefix“~”
    更改npm命令的全局设置(这将导致他们的所有安装都使用~prefix)

  • npm的默认设置是使用semver版本控制,因此您应该得到
    ^1.0.0
    。检查你的
    .npmrc
    确保你没有设置
    save exact=true
    来覆盖此行为。你好@Keith,谢谢你的回复。我使用的是0.0.x,npm似乎不支持它,它必须从1.0.0开始(如上所述)。现在它正在使用插入符号版本控制。npm的默认版本控制是使用semver版本控制,因此您应该得到
    ^1.0.0
    。检查你的
    .npmrc
    确保你没有设置
    save exact=true
    来覆盖此行为。你好@Keith,谢谢你的回复。我使用的是0.0.x,npm似乎不支持它,它必须从1.0.0开始(如上所述)。现在它正在使用插入符号版本控制。