【问题标题】:Cannot find module 'bcrypt'找不到模块“bcrypt”
【发布时间】:2016-04-05 09:59:55
【问题描述】:

我收到错误在 nodejs 应用程序中找不到模块“bcrypt”

我尝试使用 npm install bcrypt 安装它,但仍然遇到问题。

node app.js

错误信息:

Dec 30 2015 5:22:18 PM+05:30 - info: Connected to database:  
postgres://testdb:see2@$W@localhost/testdb

Dec 30 2015 5:22:18 PM+05:30 - error: Error: Cannot find module 'bcrypt'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (D:\...\server\modules\user\model
s\user.js:11:14)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)

【问题讨论】:

  • 请提供node.js代码sn-p
  • 另外,请确保您在 APP_DIR/node_modules 下有 bcrypt 文件夹
  • 刚刚检查了node_module文件夹bcrypt那里不可用,它是如何消失的
  • 如果 bcrypt 文件夹不存在,很明显安装不顺利
  • 我正在使用 npm install bcrypt 命令安装 bcrypt 模块

标签: node.js


【解决方案1】:

这发生在我身上,因为我正在从 github 安装一个包,该包具有旧版本的 bcrypt 作为依赖项。

只需卸载bcrypt清除旧版本并安装新版本:

npm uninstall bcrypt
npm install bcrypt

【讨论】:

    【解决方案2】:

    如果您的问题没有解决。下面的语法肯定会为您提供解决方案。 要使用 bcrypt: var bcrypt = require('bcrypt'); 使用 bcryptjs。 var bcrypt = require('bcryptjs');

    【讨论】:

      【解决方案3】:

      如果上述解决方案不起作用,只需删除 Node modulespackage.json 然后 npm install --save 然后 npm install bcrypt --save

      【讨论】:

        【解决方案4】:

        什么对我有用:

        • 已删除节点模块
        • 删除 package-lock.json
        • 重新安装所有依赖项

        【讨论】:

          【解决方案5】:

          在我的情况下,运行安装命令和其他人建议的命令后,我的package.json 文件没有被更新。我手动将此依赖项包含在我的package.json 文件中,如下所示:

          "dependencies": {
              ...
              "bcrypt": "5.0.1"
              ...
          }
          

          然后saved 文件并运行npm install --save -g,这安装了缺少的包。

          【讨论】:

            【解决方案6】:

            发件人:Cannot find module 'bcrypt'

            根据节点版本使用bcrypt版本。

            尝试像这样单独安装 bcrypt npm 包 如果您的节点版本是 8,请使用此命令行

            npm install bcrypt@1 --save

            如果你的节点版本是 10,11 使用这个命令行

            npm install bcrypt@3 --save

            对我来说,第二个 cmd 有效,我的 Node 版本是 14。

            【讨论】:

              【解决方案7】:

              对我来说,这是因为bcryptjs 有不同的名字。

              为了简单地修复它,

              • cd node_modules 转到应用程序上的 node_modules 文件夹
              • ln -s bcryptjs bcrypt 或 Windows mklink /D bcryptjs bcrypt

              这会创建一个bcryptjs 目录到bcrypt 的链接。

              【讨论】:

                【解决方案8】:

                首先检查 node-modules 文件夹中是否有名称为 bcrypt 的文件夹。如果它以其他名称存在,只需重命名它;例如bcrypt-pbkdf 必须编辑为bcrypt。如果没有这样的文件夹,在 cmd 中执行:

                npm install node-gyp -g
                # bcrypt reqired node-pre-gyp
                npm install -g node-pre-gyp
                npm install bcrypt -g
                npm install bcrypt --save
                

                【讨论】:

                  【解决方案9】:

                  你必须安装 bcryptjs。使用 npm install bcryptjs --save 当我被困在这里时它对我有用。

                  【讨论】:

                  • bcryptjs 比 bcrypt 更易于使用,因为它是纯粹用 javascript 编写的,但要注意它会比 c++ 版本慢
                  【解决方案10】:

                  检查您的节点版本,然后转到此链接https://github.com/kelektiv/node.bcrypt.js 以匹配兼容的 bcrypt 版本与您的 node.js 版本

                  我正在使用 node.js v14.7.0,当我尝试运行“npm install bcrypt or bcryptjs”时 它给了我错误 然后我运行 npm install bcrypt@5.0.0

                  并且错误已修复。

                  版本兼容性

                  【讨论】:

                    【解决方案11】:

                    如果应用上述解决方法后问题仍未解决,您可以尝试更新package.json 中的版本,如[Fix bug] update bcrypt to 3.0.7

                    所述

                    希望这会有所帮助。

                    【讨论】:

                      【解决方案12】:

                      解决方案非常基本,我已通过以下步骤解决了此错误/错误:

                      第 1 步: 使用此命令卸载 bcrypt 包:

                      npm 卸载 bcrypt

                      第 2 步:然后重新安装:

                      npm 安装 bcrypt

                      【讨论】:

                      • 哇!它为我节省了很多时间!它确实有效!谢谢! :)
                      • 这个简单的方法效果很好! .谢谢。
                      【解决方案13】:

                      使用npm install bcrypt 命令无法为我解决问题。

                      最后,我修复了下面的命令并解决了我的问题。

                      npm install node-gyp -g
                      # bcrypt reqired node-pre-gyp
                      npm install -g node-pre-gyp
                      npm install bcrypt -g
                      
                      npm install bcrypt --save
                      

                      节点-v v8.16.1

                      npm -v 6.4.1

                      【讨论】:

                        【解决方案14】:

                        使用npm install bcrypt 命令无法为我解决问题。

                        我尝试了以下命令并解决了我的问题。

                        npm install node-gyp -g
                        npm install bcrypt -g
                        
                        npm install bcrypt --save
                        

                        【讨论】:

                        • node-gyp 给了我一些问题。按照上面的步骤,瞧!谢谢朋友。
                        • 如果在安装 bcrypt 时出现访问错误,试试这个:sudo npm install --unsafe-perm --verbose -g bcrypt
                        • 应该是 npm install bcrypt --save。为我工作!
                        【解决方案15】:

                        我在node 13.7.0 环境中使用bcrypt@3.0.6@types/bcrypt@3.0.0。我遇到了错误cannot find binding .../node_modules/../bindings/bcrypt_lib.node

                        我运行这个来解决问题:

                        • npm i -g node-gyp
                        • npm i bcrypt --save

                        这个升级到bcrypt@3.0.8

                        【讨论】:

                          【解决方案16】:

                          问题可能是因为没有这个必需品

                          sudo apt-get install -y build-essential python
                          

                          然后将bcrypt 与 如果您使用的是 npm

                          npm install bcrypt
                          npm rebuild
                          

                          或者如果您使用的是 yarn

                          yarn add bcrypt
                          yarn install
                          yarn build
                          

                          【讨论】:

                            【解决方案17】:
                            • 节点版本与 Bcrypt 版本
                            • 0.4
                            • 0.6, 0.8, 0.10 >= 0.5
                            • 0.11 >= 0.8
                            • 4
                            • 8 >= 1.0.3
                            • 10, 11 >= 3
                            • 12 >= 3.0.6

                            我遇到了同样的问题,安装 bcrypt 后,特定版本取决于您的节点版本,它开始工作。

                            在我的情况下,我的 nodeJS 版本是 12.3.0 ,所以我通过指定版本来安装 " npm install bcrypt@3.0.6."

                            希望能解决问题。

                            【讨论】:

                              【解决方案18】:

                              如果这是您在使用 Travis CI 之类的工具时遇到的错误,请考虑使用 npm install --build-from-source

                              【讨论】:

                                【解决方案19】:

                                请确保您也使用稳定版本的节点。如果您使用的是n,您只需:

                                sudo n stable
                                

                                然后再说一遍:

                                npm install bcrypt --save
                                

                                它对我有用。

                                【讨论】:

                                  【解决方案20】:

                                  如果这些示例都不起作用,您应该尝试降级安装的 Node 版本:

                                  例如从 Node 版本 10 到版本 9

                                  npm install node@<version of node>
                                  

                                  【讨论】:

                                  • 节点 12 出现问题。我降级到节点 10 并删除了 node_modules 文件夹。重新安装后,成功了!
                                  • @joeytwiddle 如果即使这样也不起作用,最好的解决方案是安装bcryptjs。它具有零依赖性,不受所用操作系统的影响。但首先需要将其卸载bcrypt
                                  • 我试图在节点 12 上运行此 github.com/komarserjio/notejam 快速版本。我已经尝试将此解决方案降级到节点 v10 并且它有效!谢谢。
                                  • 另一个提示是使用 bcryptjs 而不是 bcrypt。 Bcrypt 经常出现依赖问题
                                  【解决方案21】:

                                  我遵循了一些课程,但对我来说它不起作用。 我的错误是:

                                  var bcrypt = require('bcrypt.js'); 
                                  

                                  但是当我把它改成

                                  var bcrypt = require('bcryptjs');
                                  

                                  成功了!

                                  【讨论】:

                                    【解决方案22】:

                                    我正在使用带有打字稿的bcrypt

                                    npm i --save @types/bcryptjs
                                    

                                    帮我解决了上面的错误。

                                    【讨论】:

                                      【解决方案23】:

                                      首先从你的节点模块中删除 bcrypt 模块。 然后尝试以下步骤:

                                      1) npm install node-gyp -g

                                      2) npm install bcrypt -g

                                      3)npm install bcrypt -save

                                      这肯定会解决问题。

                                      【讨论】:

                                      • "--save" 不是 "-save"。你也可以npm install bcrypt -g --save
                                      • 这对我不起作用 node v8.16.1 npm 6.4.1 npm install node-gyp -g npm install bcrypt -g npm install bcrypt --save
                                      【解决方案24】:

                                      这对我有用:

                                      npm install bcryptjs
                                      

                                      然后:

                                      npm update
                                      

                                      【讨论】:

                                        【解决方案25】:

                                        bcrypt 似乎在 1.0.3 版本中被贬低,因为它容易受到环绕错误的影响。 NPM 建议安装 2.0.0 版本。

                                        所以,如果你想保存它,只需运行命令:

                                        npm install bcrypt@2.0.0 --save
                                        

                                        【讨论】:

                                          【解决方案26】:

                                          使用 bcryptjs 代替 bcrypt 这对我有用

                                          npm install bcryptjs --save
                                          

                                          【讨论】:

                                            【解决方案27】:

                                            解决方案1:冗长的方法是:先安装所有依赖项。

                                            npm install -g windows-build-tools, npm install -g node-gyp

                                            然后,安装 bcrypt:npm install bcrypt

                                            解决方案 2:简单的方法。无需安装依赖项。

                                            npm install bcryptjs

                                            ...您可能已经安装了 bcrypt,但似乎由于某种原因安装不成功。检查 package.json 文件。如果找不到 bcrypt,则安装失败。您必须重新安装。

                                            正如大家所解释的,由于缺少依赖项,您的安装不成功。您可以在链接中签出所需的依赖项:https://www.npmjs.com/package/bcrypt

                                            注意: 要使用 bcrypt: var bcrypt = require('bcrypt'); .....

                                            使用 bcryptjs。 var bcrypt = require('bcryptjs');

                                            供参考: https://www.npmjs.com/package/bcrypt https://www.npmjs.com/package/bcryptjs

                                            【讨论】:

                                            • 第二种方法是什么?
                                            【解决方案28】:

                                            对我来说,问题通过以下步骤解决: 以上没有解决我的问题, 1) rm -rf node_modules 在你的项目目录中 2) rm package-lock.json 3)现在只需检查您的 package.json 文件 4) npm 安装

                                            就是这样,您将正确安装 bcrypt。希望这会有所帮助。

                                            【讨论】:

                                              【解决方案29】:

                                              这对我有用。

                                              1) 删除nodemodules文件夹中的任何bcrypt文件夹,文件夹可能是您反复尝试创建的。 (C:\Program Files\nodejs\node_modules\npm\node_modules)

                                              2) 运行此代码npm install --save bcryptjs 例如 -

                                              C:\Projects\loginapp>npm install --save bcryptjs 
                                              

                                              【讨论】:

                                              • 谢谢!这对我有用。你需要删除旧文件!!!
                                              【解决方案30】:

                                              您需要更新 linux 系统中的 g++ 编译器版本。 要更新编译器,只需运行以下命令:

                                              sudo add-apt-repository ppa:ubuntu-toolchain-r/test
                                              
                                              sudo apt-get update
                                              
                                              sudo apt-get install gcc-4.9 g++-4.9
                                              
                                              sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
                                              
                                              
                                              npm install bcrypt --save
                                              

                                              【讨论】:

                                                猜你喜欢
                                                • 1970-01-01
                                                • 2022-12-15
                                                • 2018-02-21
                                                • 2021-06-18
                                                • 2021-07-23
                                                相关资源
                                                最近更新 更多