Problem installing BJS for development

Hi,

I am on win10-x64 with node 16.16.0 and npm 8.16.0, and get the following error when I try to install BJS:

(base) L:\Babylon.js>npm install
npm ERR! code EISDIR
npm ERR! syscall symlink
npm ERR! path L:\Babylon.js\packages\public\babylonjs-viewer-assets
npm ERR! dest L:\Babylon.js\node_modules\babylonjs-viewer-assets
npm ERR! errno -4068
npm ERR! EISDIR: illegal operation on a directory, symlink 'L:\Babylon.js\packages\public\babylonjs-viewer-assets' -> 'L:\Babylon.js\node_modules\babylonjs-viewer-assets'

I tried the command using the PowerShell as Administrator but still get the same error.

Any help would be appreciated.

Oh, that’s a first. Let’s see what’s going on.
Is that the first call of npm install? does it try installing anything, or does it fail instantly? Can you try removing node_modules completely and re-run npm install? Is there some form of a lock on the node_modules directory?

On the first call to npm install and any after. I did try removing npm_modules and re-run npm install. I even tried clearing the directory and doing new git clones a few times.

Seems related to the fact that symlink is not on windows.

I saw that other projects had similar issues with simlink:

  1. Error: EISDIR: illegal operation on a directory, read · Issue #658 · facebook/metro · GitHub
  2. Neo4j error: Project failed to create: Error: EISD... - Neo4j - 16616

The entire babylon team is using windows for development, and have never experienced that…

Weird. Seems to be related to the file system / os, but node (and npm) should take care of that.

Does this work for you?

I redid an installation from scratch using npm install --no-bin-links and unfortunately still does not work:

Cloning into 'Babylon.js'...
remote: Enumerating objects: 350030, done.
remote: Counting objects: 100% (148/148), done.
remote: Compressing objects: 100% (106/106), done.
remote: Total 350030 (delta 59), reused 79 (delta 40), pack-reused 349882
Receiving objects: 100% (350030/350030), 4.41 GiB | 5.95 MiB/s, done.
Resolving deltas: 100% (280244/280244), done.
Updating files: 100% (3673/3673), done.

(base) L:\>cd Babylon.js

(base) L:\Babylon.js>npm install --no-bin-links
npm ERR! code EISDIR
npm ERR! syscall symlink
npm ERR! path L:\Babylon.js\packages\public\babylonjs-viewer-assets
npm ERR! dest L:\Babylon.js\node_modules\babylonjs-viewer-assets
npm ERR! errno -4068
npm ERR! EISDIR: illegal operation on a directory, symlink 'L:\Babylon.js\packages\public\babylonjs-viewer-assets' -> 'L:\Babylon.js\node_modules\babylonjs-viewer-assets'

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\martin\AppData\Local\npm-cache\_logs\2022-08-04T13_39_47_990Z-debug-0.log

I can continue searching, but eventually it is something with the file system - node.js - Ember.js Error: EISDIR: illegal operation on a directory - Stack Overflow

Something is different on your system than everyone else’s, but it is almost impossible to find the cause remotely. Do you have a problem with any other npm workspace repository?

Do you have a problem with any other npm workspace repository?

The other repositories on that drive worked fine. Including projects using BJS. It is an external SSD drive.

I will try installing BJS on a different drive.

1 Like

I tried installing BJS on a different drive and it worked!

It seems that nodejs has problems on windows with some type of drive or formatting.

Thanks for the help! Highly appreciated!

2 Likes