错误 HH12:尝试使用非本地安装的Hardhat,这是不受支持的。请使用npm或Yarn在本地安装Hardhat,然后重试。

17

我已经在Hardhat项目上工作了一段时间。
一段时间后,当我运行以下命令以启动HH服务器时:npx hardhat node,我会得到以下错误:

这是一个错误的图片

我尝试研究这个错误并在hardhat网站上找到了这个错误解释。

   HH12: Hardhat is not installed or installed globally
    You tried to run Hardhat from a global installation or not installing it at all. This is not supported.

Please install Hardhat locally using npm or Yarn, and try again.
有趣的是,我创建了一个新的HH项目并重新安装了所有东西,然后将我的代码导入到新项目中,这似乎解决了问题……但是过了一段时间,问题再次出现。我不能每次发生这种情况都创建一个新项目。我已经被卡了几天,会感激任何帮助。操作系统:Windows 10

可能是Windows 10的问题。您尝试使用-g选项全局安装Hardhat了吗?如果在重新启动计算机或命令提示符时丢失了Hardhat安装,那么您可能需要将其添加到PATH环境变量中,以便在Windows中默认安装Hardhat的目录中找到它。 - Harry Papacharissiou
@HarryPapacharissiou 感谢您的回复,Harry。如果我没看错的话,文档中提到了需要在项目中特别安装Hardhat,以避免一些全局冲突。不过我会尝试这个方法的。 - KelvinIOT
11个回答

13
请勿全局安装Hardhat。如果您已经全局安装了hardhat,请卸载,因为错误消息中提到的问题可能是由此引起的。
要解决这个问题,您需要执行以下操作:
  1. 检查项目package.json文件是否将hardhat作为其开发依赖项。如果没有,请运行npm install --save-dev hardhatyarn add --dev hardhat
  2. 卸载任何全局版本的hardhat
  3. 删除node_modules文件夹并运行npm installyarn install以安装所有依赖项。
  4. 尝试运行npx hardhat compilenpx hardhat node来检查是否正常工作。

1
我该如何检查 Hardhat 是否已全局安装?以及如何卸载它? - David Jay
2
@DavidJay 只需运行 npm uninstall --global hardhat 即可。 您可以使用 npm list --global --depth=0 查看所有全局安装的软件包。 - Anas Tiour
我不明白...你刚刚在本地安装了Hardhat,为什么还要使用npx?实际上,对我来说,npm Hardhat并没有起作用。如果我错了,请告诉我...或者我可以重新表达我的问题,即为什么即使在本地安装后,npm hardhat仍然无法正常工作。 - Just_chill
我尝试了所有步骤。只有“yarn add --dev hardhat”让我的项目正常工作。不确定为什么。 - oldpride

3

尽量不要使用 npx hardhat ... 来运行 hardhat,而应该在本地使用 npm hardhat ... 或者 yarn hardhat ...。在 Windows 上导致此错误的另一件事是 Git Bash,如果您正在使用 Git Bash,则无法运行 hardhat,在这种情况下请尝试在 cmd 中使用 npm 或 yarn 在本地运行它


1
我在Mac上遇到了同样的问题,通过使用以下命令解决了它:
npm install --save-dev hardhat@^2.19.0 @nomicfoundation/hardhat-toolbox@^3.0.0


你还可以在同一目录下启动一个硬帽项目。

1
不要手动创建目录/文件夹结构,而是使用VSCode终端中的“mkdir”命令进行创建。这样就不会遇到HH12错误。最近我创建了几个DAPP,再也没有遇到这个问题。
mkdir Whitelist-Dapp
cd Whitelist-Dapp

mkdir hardhat-files
cd hardhat-files
npm init --yes
npm install --save-dev hardhat

1

我有同样的问题。我所做的是运行以下命令:

npm install --save-dev "hardhat@^2.10.1
npm i @nomicfoundation/hardhat-toolbox

0
我找到了一种避免这个问题的方法,就是按照以下顺序输入命令。我认为这与您在哪个文件夹中安装Hardhat有关。 我正在名为JACKPOT的目录中创建我的项目,然后按以下顺序输入命令。到目前为止一切顺利。
首先创建您的项目文件夹,然后切换到该文件夹: PS C:\Users\alanh> mkdir jackpot
PS C:\Users\alanh> cd jackpot
然后,通过输入以下命令在该文件夹中启动VS Code:
PS C:\Users\alanh\jackpot> code .
接下来,将Hardhat添加到您的项目并启动该项目: PS C:\Users\alanh\jackpot> yarn add --dev hardhat
PS C:\Users\alanh\jackpot> yarn add --dev hardhat

希望这可以帮助您。干杯!


0

当出现此错误时,首先要检查的是您是否在正确的路径下运行以下命令:

npx run scripts/deploy.js --network localhost

它应该从您放置了hardhat.config.js文件的目录中运行。


0

你还可以检查跟踪信息是否有所提示(npx hardhat --show-stack-traces)。我尝试重新安装了nvmnode,在整个电脑上搜索了包含hardhat文件名的内容并将其删除。

最后发现我的项目缺少一些包...


0
在我的情况下,我遇到了 package-lock.json 文件的问题。
我删除了 package-lock.json 文件并执行了命令。
npm install

那对我解决了这个问题。


0
要解决此问题,请进入终端并键入 nvm use 17。它将把节点切换回 17 版本。问题在于,您可能已经无意中更新了 hardhat 版本,因此您的计算机上运行着 2 个版本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接