Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Azure上部署node.js项目,罪魁祸首是Bcrypt_Node.js_Azure_Bcrypt - Fatal编程技术网

无法在Azure上部署node.js项目,罪魁祸首是Bcrypt

无法在Azure上部署node.js项目,罪魁祸首是Bcrypt,node.js,azure,bcrypt,Node.js,Azure,Bcrypt,我目前正在从事部署在Azure上的node.js项目。我刚刚使用bcrypt添加了密码加密。在我的测试计算机上一切正常,但当我在Azure上部署时,部署失败,我收到以下消息: node-gyp rebuild C:\DWASFiles\Sites\invata\VirtualDirectory0\site\wwwroot\node_modules\bcrypt>node "D:\Program Files (x86)\nodejs\node_modules\npm\bin\node-gy

我目前正在从事部署在Azure上的node.js项目。我刚刚使用bcrypt添加了密码加密。在我的测试计算机上一切正常,但当我在Azure上部署时,部署失败,我收到以下消息:

node-gyp rebuild
C:\DWASFiles\Sites\invata\VirtualDirectory0\site\wwwroot\node_modules\bcrypt>node  "D:\Program Files (x86)\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-   gyp\bin\node-gyp.js" rebuild 
gypnpm ERR! bcrypt@0.7.6 install: `node-gyp rebuild`
npm ERR! `cmd "/c" "node-gyp rebuild"` failed with 1
An error has occurred during web site deployment.
npm ERR! 
npm ERR! Failed at the bcrypt@0.7.6 install script.
BCrypt的安装有点棘手,因为需要下载并安装openSSL。那么,是否有可能在azure上部署这样的模块,还是毫无希望

谢谢,
Stéphane

经过一些调查,我遇到了另一个bcrypt模块,这是一个本地JS模块,它在Azure上完美地工作:

我自己也遇到了这个问题

在过去一个小时寻找解决方案后,以下几点对我来说完美无瑕:

  • 转到Web应用控制台(可在Web应用工具中找到)
  • 类型:
    npm安装bcrypt
  • 我在命令后没有收到任何输出,但进入Web App node_modules文件夹时,我在那里找到了bcrypt及其所有依赖项


    从那时起,连续部署工作完美无瑕,希望这对其他人有所帮助

    +1,因为我有确切的问题。你应该把这个标记为答案!bcrypt还在Azure上为我抛出了一个错误。用crypt nodejs交换它就成功了。谢谢。很好-直接交换meThis是一个解决方案,但由于bcrypt是专门设计为速度慢的,这可能是高容量服务器中的一个问题。本机bcrypt模块的优点是bcrypt计算本身是异步运行的。尽管bcrypt nodejs通过提供
    compare
    compareSync
    来暗示它支持异步,但这两种操作实际上都是同步操作,只有“异步”操作在下一个刻度上发生。它仍然会停止所有操作,直到bcrypt计算完成,并且不是真正的异步。是否有人想出了更好的解决方案?我按照建议切换到bcrypt的原生JS实现,但它比原生版本慢3倍。我可以看到这一点,并在高容量环境中导致问题。有时,当执行
    npm安装时
    npm无法构建某些库,您可以尝试
    npm rebuild
    使npm重新构建所有需要构建的库。在Azure Web App上运行npm安装命令不是一个好的做法,部署应该是全自动的,安装bcrypt节点似乎是最好的解决方案。