npm安装@types /.../ node_modules / react

时间:2019-02-05 07:31:04

标签: node.js reactjs typescript npm

我正在使用带有@types的react(tsx),react-table,react-i18next

当我运行一个npm i时,@ types / react-table和@ types / react-i18next也会在子文件夹中安装react types。因此,我最终在每个相关的@types模块中使用@ types / react的多个副本。结果,打字稿在尝试运行应用程序时抛出错误,并且当我删除@types \ react-table,@ types \ react-i18next文件夹中的node_modules时,它可以正常编译。

我正在使用npm 6.5.0和节点8.15。 此行为在我同事的计算机上有所不同(所有计算机都在Mac OS Mojave上运行),它没有在上面列出的软件包上安装嵌套的@types \ react。

编辑: 将@types移到devDependencies,看起来像这样解决了。

1 个答案:

答案 0 :(得分:1)

对于您的问题,尚无最终解决方案,因为它不可能通过atm来保护--no-optional参数,因此npm github存储库中已有封闭功能请求,您可以在此处找到:

https://github.com/npm/npm/issues/14185

因此,只有atm可以选择排除软件包,每个新开发人员都必须使用--no-optional参数自己安装它,否则您可以选择通过--save-dev将其添加到开发依赖项中选项可以解决问题,但是这似乎是唯一的解决方案,因为npm开发人员不会在不久的将来添加该功能。