Yet another attempt to install a command-line tool

Me: Hey, cool, there’s a tool that checks ePub files for accessibility!

Me: …Uh-oh, it’s a command-line tool.

Me: [Downloads and installs node.js, as required by the accessibility-tool instructions.]

Me: [Figures out that a certain command must be run as superuser, which isn’t clear from the cryptic error message.]

Me: [Runs npm command to install accessibility tool.]

Me: [Runs into another cryptic error message about trying to install Chromium.]

Me: [Follows instructions in cryptic error message, but they don’t help.]

Me: [Googles cryptic error message.]

Me: [Discovers that to resolve the cryptic error message, you have to set a value for a variable, but instead of using the all-caps variable name specified in the error message, you have to use an all-lowercase version.]

Me: [Wonders why a tool that’s supposed to improve accessibility is so damn hard to install.]

(For past command-line adventures, see also How to install Unix-like software and More software installation.)

Update a few minutes later: Turns out that the tool won’t run without Chromium installed, so my bypassing of the Chromium-won’t-install problem didn’t fix things after all.

Update another ten minutes later: Sigh. The installation of the accessibility tool fails because it can’t create a directory, '/usr/local/lib/node_modules/@daisy/ace/node_modules/puppeteer/.local-chromium', even though it’s running as superuser. So I created that directory myself and re-ran the installer, and the same thing happened. Apparently the installer deletes everything under a certain directory before it installs, so if I create the directory myself ahead of time, then first the installer deletes the directory I just created, and then it tries to re-create it, but can’t because it doesn’t know it has superuser permissions, so it fails with an error message.

So I give up; it’s not worth continuing to try to fix the problem. Normally I would try to file a bug, but in my experience, trying to file a bug for this kind of thing is likely to take hours and end up not working. I’ve got too much else that I need to do today.

One more update: A friend pointed out to me that the accessibility tool’s troubleshooting section explains how to fix this problem.

So I’ve now got the tool installed and running. Whew.

But I find the troubleshooting instructions offputting. “You need to tell the installation scripts to enforce the super-user permissions”? Isn’t that what running under sudo is supposed to do? And it turns out that the standard installation, without which the tool doesn’t run at all, requires you to set a parameter called --unsafe-perm, which really doesn’t sound like a safe thing to do. And nowhere in the basic instructions for installing the tool does it mention that you need to do this.

I think maybe this problem only happens if you install using sudo, and they don’t expect users to do that—which is funny, because most other command-line tools I’ve tried to install won’t install without using sudo.

So I feel like their main instructions ought to explicitly say something like “Don’t install this using sudo. If you want to install it using sudo, then use this command line instead: …” Or at least explicitly link to the troubleshooting page, which it didn’t occur to me to go looking for.

On the plus side, it turns out that the tool’s maintainers invite comment via Twitter as well as bug-filing, so instead of trying to go through the bug-filing process, I’ll just tweet to them. Hi, Ace maintainers! I do appreciate your work, I’m just frustrated at the amount of time I lost this morning trying to install your tool.

One Response to “Yet another attempt to install a command-line tool”

  1. Dave

    Thanks for this great feedback – we’re working through some updates to the information on our site to hopefully make things clearer. It’s great that you found the Ace command line tool, but it seems you may have benefited more from discovering our desktop app version and not tangled with the command line at all – again something we’ve made changes to improve.
    Thanks again for the feedback.


Join the Conversation