发布自己的npm库时,怎么指定版本管理

比如发布一个库test

在别的项目里引用

npm install test

怎么指定版本号前面加上^

"test":"^0.0.1"

还有个问题就是我本地按照这个配置然后运行npm install
比如现在服务器上是0.0.2的版本理论上会自动安装到0.0.2版本,但是并没有升级,这是为什么呢?
然后查资料说用npm update,试了下也不行,所以特来问问大佬们该怎么弄。

阅读 3.6k
3 个回答

目录

几个符号
安装类库
更新类库
参考文献

几个符号

^--不允许改变左边第一个非零的数字。比如:

'^1.2.3' 等同于 '>=1.2.3 <2.0.0'
'^0.2.3' 等同于 '>=0.2.3 <0.3.0'
'^0.0.2' 等同于 '>=0.0.2 <0.0.3' //注意这里

~--允许小改数字变化。比如:

~1.2.3 等同于 >=1.2.3 <1.(2+1).0 等同于 >=1.2.3 <1.3.0
~1.2 等同于 >=1.2.0 <1.(2+1).0 等同于 >=1.2.0 <1.3.0 (Same as 1.2.x)
~1 等同于 >=1.0.0 <(1+1).0.0 等同于 >=1.0.0 <2.0.0 (Same as 1.x)
~0.2.3 等同于 >=0.2.3 <0.(2+1).0 等同于 >=0.2.3 <0.3.0
~0.2 等同于 >=0.2.0 <0.(2+1).0 等同于 >=0.2.0 <0.3.0 (Same as 0.2.x)

---指定某一区间的版本。比如:

//情况一:区间包含右端
1.2.3 - 2.3.4 等同于 >=1.2.3 <=2.3.4
//情况二:区间不含右端
1.2.3 - 2.3 等同于 >=1.2.3 <2.4.0
1.2.3 - 2 等同于 >=1.2.3 <3.0.0

x--匹配任意的数字X。比如:

* 等同于 >=0.0.0 (Any version satisfies)
1.x 等同于 >=1.0.0 <2.0.0 (Matching major version)
1.2.x 等同于 >=1.2.0 <1.3.0 (Matching major and minor versions)

安装类库

某一语法:npm install [<@scope>/]<name>@<version>
某些示例:
//安装某一指定版本
npm install test@0.0.2
//安装指定范围版本
//安装指定范围版本(大于)
npm install test@">0.0.1"
//安装指定范围版本(小于)
npm install test@"<0.0.1"
//安装指定范围版本(之间)
npm install test@"^0.0.2"
npm install test@">=0.0.2 <0.0.3"

更新类库

某一语法:npm update [-g] [<pkg>...]
某些示例:

//更新到最新版本
npm update test
//更新到某一版本
npm update test@"0.0.2"
//更新到某范围版
npm update test@"^0.0.2" //即等于npm update test@">=0.0.2 <0.0.3"

参考文献

npm-官方文档-安装类库英文版
npm-官方文档-更新类库英文版
semver-算版本号

npm install test@x.x.x

你安装后没更新的话,应该是有 .lock 文件约束包的版本号。

package-lock.json 里对应 的版本号改一下试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏