Gatsby 运行得很好并且没有显示明显应该标记的错误(功能不存在)
Gatsby runs perfectly fine & doesn't show errors that clearly should be flagged (function doesn't exist)
我有一个运行良好的 gatsby 项目。我刚刚复制了整个项目(没有节点模块文件夹)并做了 yarn install
因为我想测试一些东西。但是,当我 运行 该项目时,我遇到了几个错误。我刚刚检查了其中一个,这显然是一个需要修复的错误。我调用的函数在任何地方都不存在。
我想知道为什么我的初始项目至少没有抛出任何错误或警告?这对我来说没有意义并且让我担心。知道为什么会这样吗?
假设您描述的场景(克隆的工作项目),问题必须来自它们之间的不同 Node 版本或由于某些包版本冲突。您有多种修复方法:
节点版本
在您的根项目中添加一个 .nvmrc
文件。您只需要在那里添加源项目的当前节点版本。例如:12.0.1
,没有别的。该文件将锁定 Node 版本,并将在克隆的项目中使用它。这是最干净且可扩展的方式。
手动更改目标文件夹中的 nvm
和 运行 节点版本。一旦你知道你的源项目节点版本,你必须使用 nvm use VERSION_HERE
到你的克隆项目。
请记住,更改 Node 版本后,您必须使用 yarn install
重新安装所有软件包。强烈建议也删除 .cache
文件夹。
包版本
假设您的 package.json
具有类似 ^2.3
的依赖项,并且在您的源项目中,例如您的依赖项位于 2.31
。如果您克隆该项目,在 yarn install
之后,它可能需要另一个更高版本而不是 2.31
。由于依赖关系之间的冲突,这可能会导致编译错误。修复它的方法是也克隆你的 yarn-lock
,因为它包含项目的锁定当前工作版本。
我有一个运行良好的 gatsby 项目。我刚刚复制了整个项目(没有节点模块文件夹)并做了 yarn install
因为我想测试一些东西。但是,当我 运行 该项目时,我遇到了几个错误。我刚刚检查了其中一个,这显然是一个需要修复的错误。我调用的函数在任何地方都不存在。
我想知道为什么我的初始项目至少没有抛出任何错误或警告?这对我来说没有意义并且让我担心。知道为什么会这样吗?
假设您描述的场景(克隆的工作项目),问题必须来自它们之间的不同 Node 版本或由于某些包版本冲突。您有多种修复方法:
节点版本
在您的根项目中添加一个
.nvmrc
文件。您只需要在那里添加源项目的当前节点版本。例如:12.0.1
,没有别的。该文件将锁定 Node 版本,并将在克隆的项目中使用它。这是最干净且可扩展的方式。手动更改目标文件夹中的
nvm
和 运行 节点版本。一旦你知道你的源项目节点版本,你必须使用nvm use VERSION_HERE
到你的克隆项目。
请记住,更改 Node 版本后,您必须使用 yarn install
重新安装所有软件包。强烈建议也删除 .cache
文件夹。
包版本
假设您的 package.json
具有类似 ^2.3
的依赖项,并且在您的源项目中,例如您的依赖项位于 2.31
。如果您克隆该项目,在 yarn install
之后,它可能需要另一个更高版本而不是 2.31
。由于依赖关系之间的冲突,这可能会导致编译错误。修复它的方法是也克隆你的 yarn-lock
,因为它包含项目的锁定当前工作版本。