Skip to content

Cannot find module 'long' error when trying to run @tensorflow/tfjs module in Node.js #6841

@tamaina

Description

@tamaina

System information

  • OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 20.04.4 LTS (Focal Fossa)
  • TensorFlow.js installed from (npm or script link): npm (using on yarn berry 3.2.1)
  • TensorFlow.js version: 3.20.0

Describe the problem
I got Cannot find module 'long' error when trying to run @tensorflow/tfjs module in Node.js.

node:internal/modules/cjs/loader:956
  const err = new Error(message);
              ^

Error: Cannot find module 'long'
Require stack:
- /home/ubuntu/misskey-dev/node_modules/.store/@tensorflow-tfjs-npm-3.20.0-3984b7fecc/node_modules/@tensorflow/tfjs/dist/tf.node.js
- /home/ubuntu/misskey-dev/node_modules/.store/nsfwjs-virtual-fe284db5a1/node_modules/nsfwjs/dist/index.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:956:15)
    at Module._load (node:internal/modules/cjs/loader:804:27)
    at Module.require (node:internal/modules/cjs/loader:1022:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/home/ubuntu/misskey-dev/node_modules/.store/@tensorflow-tfjs-npm-3.20.0-3984b7fecc/node_modules/@tensorflow/tfjs/dist/tf.node.js:24:19)
    at Module._compile (node:internal/modules/cjs/loader:1120:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1174:10)
    at Module.load (node:internal/modules/cjs/loader:998:32)
    at Module._load (node:internal/modules/cjs/loader:839:12)
    at Module.require (node:internal/modules/cjs/loader:1022:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/ubuntu/misskey-dev/node_modules/.store/@tensorflow-tfjs-npm-3.20.0-3984b7fecc/node_modules/@tensorflow/tfjs/dist/tf.node.js',
    '/home/ubuntu/misskey-dev/node_modules/.store/nsfwjs-virtual-fe284db5a1/node_modules/nsfwjs/dist/index.js'
  ]
}

Node.js v18.7.0

I think this is a behavior specific to Yarn berry (I am using v3.2.1).

I think one of the reasons is that its package.json does not contain long dependency.

"dependencies": {

I got it to work by adding long to the dependency in my yarn.lock.

Why doesn't @tensorflow/tfjs include long as a dependency?

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions