can you somehow verify that the three version is the correct one on gitlab?
I’ve asked to the admin, awaiting a response. It seemed to be a missing dependency to meshoptimizer
module.
by user 615280976855171083
Okay, so even in local I have the issue. I’ve tried to build the project without using Unity in another directory and I have the same issues where meshopt_decoder.module.js
is missing, and trying to npm start
doesn’t work as the package three can’t be read.
What I’ve done to get this issue:
- git clone the same project in another directory
- go to the Needle web export project
- edit the package.json to replace the two
file://
dependencies by"@needle-tools/engine": "2.65.2-pre", "@needle-tools/three": "0.146.5"
- npm install
- npm start (or) npm run build:production
by user 615280976855171083
I will look into it.
About threejs this is what the dependencies should contain just in case
"three": "npm:@needle-tools/three@^0.146.5",
Oh ! Let’s try this then, that might be the issue.
by user 615280976855171083
Yes maybe
Do you have another entry with a “three” version in the package.json?
We’re also using "@types/three": "0.146.0"
.
by user 615280976855171083
I believe that’s only for linting / typescript compilation. But the error you’re getting is a import not being able to be resolved
If I wanted to install @needle-tools/three
as the package three
directly with the npm install command (without editing the package.json file), what should I type exactly for the command ?
by user 615280976855171083
npm install three@npm:@needle-tools/three@^0.146.5
I’m asking because I wonder if the install uses the package-lock with previous installs (which I can’t get rid of because of private packages). After npm install, the package node_modules/three
is still a broken symlink, which is weird.
by user 615280976855171083
And thanks !
by user 615280976855171083
Maybe --no-package-lock
helps?
It worked for the npm start ! However the build still throws this error :
Error: Cannot find module 'C:\(...)\Needle\NeedleWeb\node_modules\@needle-tools\engine\node_modules\@needle-tools\gltf-transform-extensions\pack-gltf.mjs'
by user 615280976855171083
The Unity build? When making a production build?
Nope, when doing npm run build:production
. As we want to build it in Gitlab without having to install Unity.
by user 615280976855171083
Then you want to change this command in your package.json "pack-gltf": "npm run pack-gltf --prefix node_modules/@needle-tools/engine"
to node --no-experimental-fetch node_modules/@needle-tools/gltf-transform-extensions/pack-gltf.mjs
and install "@needle-tools/gltf-transform-extensions": "^0.11.2-pre",
in your main project as a devDependency
(note that we want to rename that package in a future version to something like build-pipeline
)
Alright ! Let’s try this.
by user 615280976855171083
It worked ! I hope it’ll work on the Gitlab server as well.
by user 615280976855171083