Javascript package import cannot find package

67 views Asked by At

I am glad to share my first npm package eulejs. Since I need to test it, I found that the command npm link bind locally the package on another NodeJS project. Great! HOWEVER, I was not able to import it as a package in this way. Sad...

I published the package and made a minimal project. The src/index.js code is below:

import euler from "eulejs";

const diagram = euler({
  a: [1, 2, 3],
  b: [2, 3, 4],
  c: [3, 4, 5],
  d: [3, 5, 6],
});

/* Euler dictionary:
 *   {
 *      'a,b': [2],
 *      'b,c': [4],
 *      'a,b,c,d': [3],
 *      'c,d': [5],
 *      'd': [6],
 *      'a': [1]
 *   }
 */
console.log(diagram);

For installation:

  1. Create and go to folder with command mkdir ~/eulejs-example && cd eulejs-example;
  2. Create a file package.json with content below:
{
  "name": "eulejs-example",
  "description": "Example for package eulejs",
  "type": "module",
  "version": "0.0.0",
  "scripts": {
    "start": "nodemon ./src/index.js",
    "test": "echo \"Not implemented\""
  },
  "keywords": [
    "jest"
  ],
  "author": "brunolnetto",
  "license": "ISC",
  "devDependencies": {
    "nodemon": "^2.0.20"
  },
  "dependencies": {
    "eulejs": "^1.0.2"
  }
}
  1. Install dependencies with the command run npm install;
  2. Run the command npm start.
  3. A similar error log appears:
[nodemon] starting `node ./src/index.js`
node:internal/errors:484
    ErrorCaptureStackTrace(err);
    ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '/home/brunolnetto/github/alloyha/experiments/web/eulejs-MVP/node_modules/eulejs/' imported from /home/brunolnetto/github/alloyha/experiments/web/eulejs-MVP/src/index.js
    at new NodeError (node:internal/errors:393:5)
    at legacyMainResolve (node:internal/modules/esm/resolve:235:9)
    at packageResolve (node:internal/modules/esm/resolve:847:14)
    at moduleResolve (node:internal/modules/esm/resolve:909:20)
    at defaultResolve (node:internal/modules/esm/resolve:1124:11)
    at nextResolve (node:internal/modules/esm/loader:163:28)
    at ESMLoader.resolve (node:internal/modules/esm/loader:841:30)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:424:18)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:40)
    at link (node:internal/modules/esm/module_job:75:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

Node.js v18.12.1
[nodemon] app crashed - waiting for file changes before starting...

It would be very nice to have a feedback on how to solve such issue.

0

There are 0 answers