Error: Cannot find module 'ms-identity-javascript-nodejs-tutorial\1-Authentication\1-sign-in\App\node_modules\msal-node-wrapper\dist\index.js'. Please verify that the package.json has a valid "main" entry
Which version of Microsoft.Identity.Client are you using? "@azure/msal-node": "^2.7.0"
Note that to get help, you need to run the latest version.
Repro
cd ms-identity-javascript-nodejs-tutorial\1-Authentication\1-sign-in\App
npm install
npm start
Expected behavior nodejs server starts and listens on port 4000 (as per the sample)
Actual behavior Get this error
[email protected] start node server.js
node:internal/modules/cjs/loader:502 throw err; ^
Error: Cannot find module 'C:\git\ms-identity-javascript-nodejs-tutorial\1-Authentication\1-sign-in\App\node_modules\msal-node-wrapper\dist\index.js'. Please verify that the package.json has a valid "main" entry
at tryPackage (node:internal/modules/cjs/loader:494:19)
at Function._findPath (node:internal/modules/cjs/loader:795:18)
at Function._resolveFilename (node:internal/modules/cjs/loader:1235:27)
at Function._load (node:internal/modules/cjs/loader:1075:27)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:219:24)
at Module.require (node:internal/modules/cjs/loader:1340:12)
at require (node:internal/modules/helpers:138:16)
at Object.
Node.js v22.12.0
got the same error. Actually, I first download the sample code provided by azure portal, and then follow the docs find this tutorial code. Neither works.
I managed to make it work using the following steps.
In the ms-identity-javascript-nodejs-tutorial/1-Authentication/1-sign-in/App directory run:
-
npm install -
cd node_modules/msal-node-wrapper -
npm run build
Now the dist folder should be present in the node_modules/msal-node-wrapper
-
cdback intoms-identity-javascript-nodejs-tutorial/1-Authentication/1-sign-in/App -
npm start
This should start the server on (by the tutorial default) port 4000.
@nandbit is correct. In addition, you can update postinstall line in package.json file to run build also.
- "postinstall": "cd ../../../Common/msal-node-wrapper && npm install"
+ "postinstall": "cd ../../../Common/msal-node-wrapper && npm install && npm run build"