Installation Issue on macOS - EPERM: operation not permitted, uv_cwd

Troubleshooting

Summary

Installation of JavaScript dependencies via `npm` or `yarn` fails with an `EPERM: operation not permitted` error if the terminal does not have permission to access the target folder.
For a better user experience, please go to the integrated documentation viewer to read this article.

Description

Installing the JavaScript dependencies of the <yfiles-package>/demos/package.json file fails if the terminal does not have access to the folder. An exception similar to the following will be thrown:

Error: EPERM: operation not permitted, uv_cwd
    at Object.resolve (path.js:1084:25)
    at Function.Module._resolveLookupPaths (internal/modules/cjs/loader.js:478:17)
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:573:20)
    at Function.Module._load (internal/modules/cjs/loader.js:506:25)
    at Module.require (internal/modules/cjs/loader.js:636:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:153:3)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
This issue can occur more frequently since macOS 10.15 Catalina changed the default shell from bash to zsh. Previously, attempting to access a folder without permission would display a popup explicitly requesting permission. This is no longer the case with zsh.

Solution

Ensure that the terminal has permission to access the folder. For instance, if you extract the yFiles package to ~/Documents/, the 'Documents Folder' should be checked in the Security & Privacy settings:

Document Permissions

Resources

Categories this article belongs to:
yFiles for HTML
Applies to:
yFiles for HTML: 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 3.0
Keywords:
Mac - Mac OS X - macOS - catalina - npm - yarn - known issue