【问题标题】:How do I use node-argon2 on a platform like GCP?如何在像 GCP 这样的平台上使用 node-argon2?
【发布时间】:2019-08-10 00:07:27
【问题描述】:

对于 Node.js 应用程序,要使用 node-argon2 包,必须首先在系统上全局安装 node-gyp 包以及 c/c++ 编译器来构建 Argon2 源。 (我使用的是Windows,但生产目标实例可能是Ubuntu实例)之后,可以使用Argon2哈希。

在部署到 Google Cloud Platform 等平台时,我将如何满足此要求?我是否需要创建一个运行以下命令的脚本,

npm i -g node-gyp
npm i node-argon2

或者在这种情况下,我应该在其他地方管理全局安装的 NPM 包吗?

然后,需要编译它才能使用它。每次部署应用程序时都会发生这种情况还是仅在第一次部署时发生这种情况?

【问题讨论】:

    标签: node.js google-cloud-platform


    【解决方案1】:

    首先,当您在 Google Cloud Platform 等云服务上进行部署时,您的应用很可能每次都部署在不同的机器上。

    这两个命令有区别:

    npm i -g node-gyp
    npm i node-argon2
    

    npm i node-argon2

    这个安装在您的应用程序包中。通常你有一个 package.json 文件来指定这些依赖。所以每次部署时,命令 npm i 都会安装 package.json 文件中指定的所有包。这与 express 等其他包的工作方式相同。您可以使用 CI/CD(持续集成和部署)来简化它。

     npm i -g node-gyp
    

    这个是全局安装在部署您的应用程序的机器上。同样,有必要确保每次部署时都运行此脚本。您可以在部署脚本中添加它,也可以在 docker 文件中指定它。

    我开发的应用程序部署在 Google Cloud Platform 上,我们最近改用 node-argon2 库进行散列。我们使用 docker 进行部署,所以在 docker 文件中我们运行几个命令,包括 apt-get 更新 apt-get install build-essential 这两个命令确保安装了最新的 C++ 命令并安装了 node-gyp。根据您的应用部署的服务器类型,您可能需要不同的命令。大体思路是一样的,你需要每次都运行它们,最好将它集成到你的 CI/CD 管道中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-16
      • 2021-11-01
      • 2021-03-06
      相关资源
      最近更新 更多