Installing and importing algosdk on the project is causing errors


Using react and node v16.14.2

Installing ( npm install algosdk ) and importing ( const algosdk = require(‘algosdk’) ) on a new project is giving some errors:

ERROR in ./node_modules/algosdk/dist/browser/algosdk.min.js 7471:55-72
Module not found: Error: Can’t resolve ‘crypto’ in '/dev/p/client/node_modules/algosdk/dist/browser’

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
** - add a fallback ‘resolve.fallback: { “crypto”: require.resolve(“crypto-browserify”) }’**
** - install ‘crypto-browserify’**
If you don’t want to include a polyfill, you can use an empty module like this:
** resolve.fallback: { “crypto”: false }**

webpack compiled with 1 error and 1 warning

Any ideas what might be causing this?


This issue happens when your webpack version is greater than 5.
Older versions of webpack used to include polyfills by default.
To resolve this add this to your webpack.config.js

fallback: {
                    crypto: require.resolve('crypto-browserify'),
                    stream: require.resolve('stream'),
                    buffer: require.resolve("buffer")

Make sure to install above 3 packages.

1 Like