Skip to content

Explicitely make tfjs-core a dependency of tfjs-node #2761

@etiennedupont

Description

@etiennedupont

TensorFlow.js version

"@tensorflow/tfjs-node": "1.5.2"

Browser version

node v10.15.3
yarn (pnp) 1.16.0

Describe the problem or feature request

"tfjs-node" requires "tfjs-core" in there:

import * as tfc from '@tensorflow/tfjs-core';

So "tfjs-core" should be listed as one of its dependencies there:

"dependencies": {

This causes a bug with yarn pnp.

Code to reproduce the bug / link to feature request

package.json:

{
  "name": "test-tfjs",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "dependencies": {
    "@tensorflow/tfjs-node": "1.5.2",
    "seedrandom":"~2.4.3"
  },
  "devDependencies": {
    "@babel/cli": "7.8.4",
    "@babel/core": "7.8.4",
    "@babel/preset-env": "7.8.4"
  },
  "babel":{
    "presets": ["@babel/preset-env"],
    "plugins": []
  },
  "scripts": {
    "build": "babel src -d lib"
  },
  "installConfig": {
    "pnp": true
  }
}

src/index.js

import * as tf from '@tensorflow/tfjs-node'

(() => {
    const tensor = tf.tensor([1,1])
    console.log(`tensors = ${tensor}`)
})()

Running:
yarn install && yarn build && yarn node lib

throws:

yarn install v1.16.0
info No lockfile found.
[1/5] 🔍  Resolving packages...
[2/5] 🚚  Fetching packages...
[3/5] 🔗  Linking dependencies...
[5/5] 🔨  Building fresh packages...
success Saved lockfile.
✨  Done in 12.26s.
yarn run v1.16.0
$ babel src -d lib
Successfully compiled 1 file with Babel.
✨  Done in 0.66s.
yarn node v1.16.0
/Users/etiennedupont/Code/test-tfjs/.pnp.js:4636
    throw firstError;
    ^

Error: Package "@tensorflow/tfjs-node@1.5.2" (via "/Users/etiennedupont/Code/test-tfjs/.pnp/unplugged/npm-@tensorflow-tfjs-node-1.5.2-9c85040c75a851e8e00d9a2434e6c961b9fda177/node_modules/@tensorflow/tfjs-node/dist/nodejs_kernel_backend.js") is trying to require the package "@tensorflow/tfjs-core" (via "@tensorflow/tfjs-core") without it being listed in its dependencies (@tensorflow/tfjs, adm-zip, google-protobuf, https-proxy-agent, node-pre-gyp, progress, rimraf, tar, @tensorflow/tfjs-node)
    at makeError (/Users/etiennedupont/Code/test-tfjs/.pnp.js:55:17)
    at Object.resolveToUnqualified (/Users/etiennedupont/Code/test-tfjs/.pnp.js:4374:17)
    at Object.resolveRequest (/Users/etiennedupont/Code/test-tfjs/.pnp.js:4445:31)
    at Function.Module._resolveFilename (/Users/etiennedupont/Code/test-tfjs/.pnp.js:4627:30)
    at Function.Module._load (/Users/etiennedupont/Code/test-tfjs/.pnp.js:4543:31)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (/Users/etiennedupont/Code/test-tfjs/.pnp/unplugged/npm-@tensorflow-tfjs-node-1.5.2-9c85040c75a851e8e00d9a2434e6c961b9fda177/node_modules/@tensorflow/tfjs-node/dist/nodejs_kernel_backend.js:67:11)
    at Module._compile (internal/modules/cjs/loader.js:701:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
error Command failed.
Exit code: 1
Command: /Users/etiennedupont/.nvm/versions/node/v10.15.3/bin/node
Arguments: lib
Directory: /Users/etiennedupont/Code/test-tfjs
Output:

info Visit https://yarnpkg.com/en/docs/cli/node for documentation about this command.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions