我有一个反应项目,我想更新这个过时的包
npm outdated
Package Current Wanted Latest
Location
native-base 2.3.1 2.4.3 2.4.3
react 16.0.0-alpha.12 16.3.2 16.3.2
expo 20.1.2 20.1.4 27.0.1
jest-expo 20.0.0 20.0.0 27.0.1
react-native 0.47.2 0.47.2 0.55.3
react-native-calendars 1.14.2 1.19.3 1.19.3
react-native-collapsible 0.9.0 0.9.0 0.11.2
react-native-datepicker 1.6.0 1.7.2 1.7.2
第一个问题,“当前”和“通缉”之间有什么区别?而且,确切地说,我必须做什么?如果我执行“npm update”,结果是:
npm WARN react-native@0.47.2 requires a peer of react@16.0.0-alpha.12 but
none is installed. You must install peer dependencies yourself.
npm WARN react-native-elements@0.16.0 requires a peer of react-native-
vector-icons@^4.2.0 but none is installed. You must install peer
dependencies yourself.
npm WARN react-native-svg@5.3.0 requires a peer of react@16.0.0-alpha.12
but none is installed. You must install peer dependencies yourself.
npm WARN react-native-keyboard-aware-scroll-view@0.5.0 requires a peer of
react-native@>=0.48.4 but none is installed. You must install peer
dependencies yourself.
我不明白npm是否有更新内容......
答案 0 :(得分:0)
正如docs
中所述当前:您当前的版本。
通缉:是满足semver
中指定的package.json
范围的套餐的最高版本。如果没有semver
范围
然后想要显示当前安装的版本,其中semver
表示单个主要版本,主要版本或次要版本。您可以阅读更多相关信息here。
npm update
会将软件包安装到latest version
尊重semver ,并修改package.json
。
这意味着,如果您的软件包版本 1.0.2 ,其最新版本为 3.0.2 ,那么它将尊重
semver
并升级它仅限最新minor
版本。
为此,您可以创建一个脚本,将node_modules
和reinstall
删除为最新提及的here,或使用post中提到的npm-check-updates
对于升级主要软件包,此方法不推荐,因为某些库可能与其用作依赖项的其他库的最新版本兼容,也可能不兼容。 / p>
理想情况下,您应该按照here使用react-native
升级react-native-git-upgrade
版本,然后更新所有依赖项