4

我正在与:

  • MacOS 莫哈韦沙漠
  • 角 8
  • 节点 v12.12.0
  • npm v6.13.4

并试图让 Argon2 在我的 Angular 8 应用程序中工作。

为了使用 Argon2,需要全局安装 gcc 和 node-gyp。我确实按照 Argon2 的 npm 页面上的说明安装了它们。GCC v9 已安装。但是,我在执行时遇到了反复的问题:

CXX=g++-9 npm install

我不断收到有关 stdlib++ 的错误。我尝试使用 Apple 的 CLang++ 并通过以下方式成功构建:

CXX=clang++ npm install

我在我的 Angular 项目中导入了 argon2 以进行密码散列和验证。散列似乎运行良好(没有错误),但是一旦我导入 argon2.verify() 并在我的代码中使用它(通过进行验证调用),我会在尝试执行 npm run start 时出错。只是尝试使用相应的私钥和证书启动受保护的 httpserver (ssl/tls)。

我得到的错误是一些神秘的错误:

ERROR in ./node_modules/node-gyp-build/index.js
Module not found: Error: Can't resolve 'fs' in '/Users/[username-deleted]/WebstormProjects/my-app/node_modules/node-gyp-build'

我在互联网上看到了关于可能类似问题的评论和投诉,人们提到了 Webpack 配置文件中的一些调整,但目前我的项目中没有这个配置文件。我尝试了其他版本的 node-gyp-build 但没有解决。显然 argon2.hash() (它的用法)正在工作而不会引起问题,但是一旦我在我的代码中引入 argon2.verify() 并使用 npm run start 运行我的应用程序,我就会收到上述错误。

任何有类似问题的人以及如何解决这个问题?

4

2 回答 2

2
我遇到了同样的问题,并通过安装 Xcode 命令行工具来修复它:
  1. xcode-select --install
  2. npm upgrade
  3. npm install argon2 --save-dev

希望能帮助到你。

于 2020-02-18T19:54:01.770 回答
0

安装新版本(0.28.0及更高版本)为我修复了它

于 2021-06-15T19:12:10.643 回答