npm install 指定版本的几个疑问
npm install 到底 install 的什么版本,@和^到底能不能锁住版本?
运行 npm install --force
时,安装的 react-native-reanimated
版本取决于 package.json
和 package-lock.json
的情况:
- 如果
package.json
里是"react-native-reanimated": "^3.4.2"
^3.4.2
代表可以安装3.x.x
但不会升级到4.0.0
及以上。如果
package-lock.json
存在,并且锁定的是3.4.2
,则会安装3.4.2
。如果
package-lock.json
不存在或被删除,则可能会安装3.x.x
中的最新版本(比如3.5.0
,如果已经发布)。
- 如果
package-lock.json
里已经锁定3.4.2
npm install --force
仍然会安装3.4.2
,不会升级到更新的3.x.x
版本。
- 如果
package.json
里是"react-native-reanimated": "3.4.2"
(无^
符号)
- 只会安装
3.4.2
,不会升级。
- 如果你想确保安装
3.4.2
,可以执行:
|
总结
npm install --force
不会安装最新版本,而是按照package.json
和package-lock.json
规则来安装。如果
package-lock.json
允许,可能会安装3.x.x
中的最新版本,而不一定是3.4.2
。如果你想固定安装
3.4.2
,建议显式指定版本npm install react-native-reanimated@3.4.2
。
npm install 指定版本的几个疑问
https://cctv3.net/static/20250204/npm-install-what-version.html