我正在与:
- 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 运行我的应用程序,我就会收到上述错误。
任何有类似问题的人以及如何解决这个问题?