Skip to main content
Question

Additional folders needed for path when running build property in manifest.json

  • March 23, 2021
  • 1 reply
  • 935 views

Gavin
  • Active Member
  • 29 replies

I’ve recently tried to use the build property of the manifest.json file which can execute a file when the plugin is published.

Unfortunately, when I try to publish the plugin I get the following error.

Build error: env: node: No such file or directory Path was: /usr/bin:/bin:/usr/sbin:/sbin

manifest.json

{
    // ...
    "build": "./bin/build"
}

bin/build

#! /usr/bin/env node

console.log("testing")

Upon further investigation, I can see that node gets installed by default under /usr/local/bin. Also if you use any version managers it could be installed somewhere else completely.

From what I understand on a Mac /usr/bin, /bin, /usr/sbin and /sbin are all protected by System Integrity Protection. This restricts a user by default from making changes to these directories and it’s generally not advised to not to disable it. Generally, customisations should be made in /usr/local.

I believe this is the reason why it is not working for me.

Does anyone have a suggestion to get around this issue?

Additionally, for Figma it would be great if Figma could look for the user’s $PATH or at the least add usr/local/bin as a directory to look in for executables.

1 reply

Gavin
  • Author
  • Active Member
  • 29 replies
  • March 23, 2021

I’ve just found the following that mentions Figma are aware that “the desktop app currently doesn’t set the PATH environment variable correctly”.

figma.com

Workaround

As a workaround, I’ve followed the advice in the article above that mentions prefixing with an absolute path.

"build": "/usr/local/bin/node ./bin/build"

Although this is not ideal if you’re sharing your library with others who may have a different path to their node environment, so that’s just something to bear in mind.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings