node.js - 将 semver 版本与 tilde / caret 进行比较
问题描述
假设我正在使用 NPM semver 包:
const semver = require('semver');
如果我将确切版本与波浪号/插入符号版本进行比较,哪个参数具有波浪号/插入符号是否重要?例如:
semver.eq('1.2.3', '^1.2');
或者
semver.neq('~1.3.3', '1.2.8');
我猜你可以在没有任何改变的情况下切换参数,但我不是 100% 确定。
解决方案
实际上semver.eq
不适用于这样的范围。
semver.satisfies
确实和那里的位置很重要:
console.log(semver.satisfies('1.0.0', '^1')) // true
console.log(semver.satisfies('1.2.2', '~1.2.3')) // false
console.log(semver.satisfies('^1.0', '1.0.0')) // Exception
console.log(semver.satisfies('1.2.2', '~1.2.3')) // Exception
console.log(semver.eq('1.0.0', '^1.0.0')) // Exception
console.log(semver.eq('^1.0', '1.2.3')) // Exception
这是一个ripl
链接,可以查看
推荐阅读
- java - java.lang.NoClassDefFoundError: jdk/nashorn/api/scripting/NashornScriptEngineFactory
- r - 带有年份的条形图滑块
- node.js - 您如何在 Vercel node.js 应用程序中解析多部分表单?
- python - 第二个对话框窗口上的按钮不起作用
- python - 如何在 Python 中任意旋转、重新排列等 pdf 页面?
- ios - Swift NotificationObserver 无法使用模态呈现的 ViewController
- java - 在休眠查询中将日期和时间转换为 DateTime
- android - 如何在撰写中创建图像查看器
- vue.js - 如何在对象用户中获取此数据名称?
- excel - 访问不规则命名范围中的第 n 个元素