Reputation: 11
I am getting the following error while running serverless offline start
Can someone help me with this?
offline: POST /dev/trader/create (λ: CreateTrader) offline: Failure: package.json does not exist at /home/denzilgupta/serverless-testing/.webpack/service/services/trader/package.json Error: package.json does not exist at /home/denzilgupta/serverless-testing/.webpack/service/services/trader/package.json at Object.../../node-pre-gyp/lib/pre-binding.js.exports.find (/home/denzilgupta/serverless-testing/.webpack/service/services/trader/webpack:/home/denzilgupta/serverless-testing/node_modules/node-pre-gyp/lib/pre-binding.js:18:1) at Object.../../bcrypt/bcrypt.js (/home/denzilgupta/serverless-testing/.webpack/service/services/trader/webpack:/home/denzilgupta/serverless-testing/node_modules/bcrypt/bcrypt.js:5:1) at webpack_require (/home/denzilgupta/serverless-testing/.webpack/service/services/trader/webpack:/webpack/bootstrap:19:1) at Module.../../../services/trader/handler.js (/home/denzilgupta/serverless-testing/.webpack/service/services/trader/handler.js:164:64) at webpack_require (/home/denzilgupta/serverless-testing/.webpack/service/services/trader/webpack:/webpack/bootstrap:19:1) at /home/denzilgupta/serverless-testing/.webpack/service/services/trader/webpack:/webpack/bootstrap:83:1 at Object. (/home/denzilgupta/serverless-testing/.webpack/service/services/trader/handler.js:87:10) at Module._compile (internal/modules/cjs/loader.js:959:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10) at Module.load (internal/modules/cjs/loader.js:815:32) at Function.Module._load (internal/modules/cjs/loader.js:727:14) at Module.require (internal/modules/cjs/loader.js:852:19) at require (internal/modules/cjs/helpers.js:74:18) at /home/denzilgupta/serverless-testing/node_modules/serverless-offline/dist/lambda/handler-runner/in-process-runner/InProcessRunner.js:67:133 at processTicksAndRejections (internal/process/task_queues.js:93:5) at InProcessRunner.run (/home/denzilgupta/serverless-testing/node_modules/serverless-offline/dist/lambda/handler-runner/in-process-runner/InProcessRunner.js:67:9)
Upvotes: 0
Views: 380
Reputation: 21
Looks like bcrypt work as a native module for nodeJS, probably it contains some DLL and/or binaries. To load this kind of module nodeJS needs the full path to the lib, it does not work well with module bundlers like webpack. It would work as an external plugin but it seems that it does not attend your use case as you are using serverless framework and need to bundle everything together.
I suggest changing to bcryptjs, it is 30% slower because of the implementation in JS instead of using C++ but it works with webpack.
Upvotes: 2