问题描述
不幸的是,我们有不同NodeJS版本的项目。我不确定这是否像Java一样,在Java中,我可以安装多个JDK(安装多个NodeJS),并且每个项目都可以通过一个配置文件神奇地使用正确的版本?此外,教程中的大多数命令在安装工具和库时都不包含版本号,如
- npm install-g expo-cli(工具)
- NPM install@reaction-boot/local(库)
来自Gradle和Gradle包装器,团队中的每个人都使用build.gradle文件中定义的工具和库版本,这对我来说很奇怪。在Gradle的世界里,团队中的每个人都使用完全相同的Gradle版本(Gradle本身确保如果一个人在repo中升级它,每个人都会得到升级,并在同一版本上保持同步)。然后是插件/工具,定义那些版本,然后定义库和那些版本。
- 如何保证每个人都使用相同的NPM、节点、博览会等工具?
- 如何确保每个人都使用相同的库?
- 如何确保每个人都使用相同的打字稿?
- 通过属性的版本
- 插件/工具版本
- build.gradle文件
- 任何源代码文件
并将所有内容作为一个单元签入,以便签出的任何开发人员都一起使用所有正确的版本。我希望这在我们的iOS/Android移动项目的原生反应中使用,或者尽可能接近。
我以前也破解过一些东西,比如在git repo中安装‘ant’,这很有效(尽管这是一个非常丑陋的破解),每个人都使用repo中的工具,而不是他们操作系统上的工具。也许有办法做到这一点?
随着人们随着时间的推移更新库,一个包含二进制文件的臃肿的repo是值得的,因为它可以防止版本兼容性地狱。不仅如此,我们发现工具错误更容易追踪,因为我们可以恢复回购。不仅如此,我们可以复制1年前的版本,因为工具已经恢复,而今天的NPM工具由于所有的更改都不能构建1年前的版本。好处越积越多,我甚至都记不清了。
通过Gradle包装器之类的引导程序或Full Full Thing从Repo运行工具通常是最佳选择,直到完全膨胀的东西真正膨胀,但即使这样,将其锁定到另一个工具Repo上的散列也可能更好
欢迎任何想法在这里为我的团队提供所有相同的工具(对于从其他项目加入公司或团队的人也非常有用,无需安装太多)。
谢谢,院长
推荐答案
应通过删除Package.json中的所有脱字符和波浪符号并指定确切版本来处理类型脚本和库。
睡觉的一种低开销可能性可能是shell脚本和私有包回购。您可以在内部托管要安装的版本,并通过curls获取所有版本。
或者您可以在NPM预安装中添加一些简单的脚本,例如,nvm use 12.2.1
应该通过错误消息引导用户安装NVM并使用正确的版本。
这篇关于使用配置项为Reaction-Native、TypeScript、NodeJS设置适当的开发环境的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!