Javascript 盖茨比跑得很好;不';不显示应明确标记的错误(函数不存在)
我有一个盖茨比的项目,效果非常好。我刚才复制了整个项目(没有node modules文件夹),并进行了Javascript 盖茨比跑得很好;不';不显示应明确标记的错误(函数不存在),javascript,node.js,reactjs,gatsby,yarnpkg,Javascript,Node.js,Reactjs,Gatsby,Yarnpkg,我有一个盖茨比的项目,效果非常好。我刚才复制了整个项目(没有node modules文件夹),并进行了纱线安装,因为我想测试一些东西。然而,当我运行该项目时,我遇到了几个错误。我刚刚检查了其中一个,很明显这是一个需要修复的错误。我调用的函数在任何地方都不存在 然而,我想知道为什么我最初的项目至少没有抛出任何错误或警告?这对我来说毫无意义,让我担心。您知道为什么会这样吗?假设您描述的场景(克隆的工作项目),问题一定来自它们之间的不同节点版本,或者由于某些包版本冲突。有几种方法可以解决此问题: 节点
纱线安装
,因为我想测试一些东西。然而,当我运行该项目时,我遇到了几个错误。我刚刚检查了其中一个,很明显这是一个需要修复的错误。我调用的函数在任何地方都不存在
然而,我想知道为什么我最初的项目至少没有抛出任何错误或警告?这对我来说毫无意义,让我担心。您知道为什么会这样吗?假设您描述的场景(克隆的工作项目),问题一定来自它们之间的不同节点版本,或者由于某些包版本冲突。有几种方法可以解决此问题: 节点版本
- 在根项目中添加
文件。您只需要在那里添加源项目的当前节点版本。例如:.nvmrc
,没有其他内容。此文件将锁定节点版本并在克隆项目中使用。这是最干净和可扩展的方式12.0.1
- 手动更改
并在目标文件夹中运行节点版本。一旦知道源项目节点的版本,就必须在克隆的项目中使用nvm
nvm use VERSION\u
warn install
再次安装所有软件包。强烈建议也删除.cache
文件夹
软件包版本
假设您的
包.json
有一个类似^2.3
的依赖项,例如,在源项目中,您的依赖项位于2.31
。如果在安装后克隆该项目,则可能需要另一个更高版本,而不是2.31
。这可能会由于依赖项之间的冲突而导致编译错误。修复它的方法是克隆你的纱线锁
,因为它包含你项目的当前工作版本。非常感谢。有没有办法检查每个单独的盖茨比项目中使用的是哪个节点版本?只需在每个项目中运行node-v