figlet.js icon indicating copy to clipboard operation
figlet.js copied to clipboard

Unknown error

Open reazn opened this issue 6 years ago • 15 comments
trafficstars

Im getting an "UNKNOWN" errorno -4094 Code:

    figlet("Test", function(err, data) {
        if (err) {
            console.log(err);
            return;
        }
        message.channel.send('```' + data + '```')
    })```

Error:
`{ [Error: UNKNOWN: unknown error, open '//../fonts/Standard.flf']
  errno: -4094,
  code: 'UNKNOWN',
  syscall: 'open',
  path: '//../fonts/Standard.flf' }
`

reazn avatar May 26 '19 01:05 reazn

That path looks a little odd. I don't get that on my end, but I've updated the code so that kind of path should never arise. I've pushed a new version. If you update to v1.2.2, do you still get that error?

patorjk avatar May 26 '19 11:05 patorjk

I have updated figlet but it's now trying to get the font from my E: drive?

{ [Error: ENOENT: no such file or directory, open 'E:\fonts\Standard.flf']
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'E:\\fonts\\Standard.flf' }

reazn avatar May 26 '19 18:05 reazn

Couple questions:

  • what directory are you running from?
  • what OS are you using?
  • what is the full path of the Figlet.js lib that’s running?
  • is the lib installed for a local project or globally?
  • where is node installed and what version of node are you using?

patorjk avatar May 26 '19 19:05 patorjk

Directory: E: OS: Windows 10 Path: E:\Discord\SupremeBotty\node_modules\figlet\lib Installed: Local Node: v10.15.3

reazn avatar May 26 '19 19:05 reazn

I wonder if this is a Windows path issue. Can you modify the node_modules/figlet/lib/node-figlet.js file and then on line 9 add:

console.log(__dirname); console.log(fontDir); console.log( path.join(__dirname, “../fonts/“); console.log( path.join(__dirname, ‘..’, ‘fonts’); // I’m on mobile, you may have to fix the quotes

My guess is the last one should print out the correct path, if so, I’ll do another update.

patorjk avatar May 26 '19 20:05 patorjk

Looked into the issue for him, he was using it along side webpack.

Fixed it by the following to the webpack config node: { __dirname: false }

stubbo avatar May 26 '19 20:05 stubbo

I wouldn't exactly say that's a fix...

{ [Error: ENOENT: no such file or directory, open 'E:\Discord\SupremeBotty\fonts\Standard.flf']
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'E:\\Discord\\SupremeBotty\\fonts\\Standard.flf' }

reazn avatar May 26 '19 20:05 reazn

Wait, is this being transpiled? If so, it probably is a Webpack config error of some sort, or at least a problem how the code is being transpiled. __dirname should resolve to "your-app/node_modules/figlet/lib/", and it's joined with "../fonts", which gives the directory to the fonts folder.

Another option may be to use the new "importable-fonts" that I added to the project. I haven't yet tested these, which is why it's not advertised. However, I'm adding them for use in front-end apps that get transpiled. The fonts are actually there, and I envision them being used like this:

import standard from 'figlet/importable-fonts/Standard.js'
figlet.parseFont('Standard', standard);
figlet.text('test', {
    font: 'Standard',
}, function(err, data) {
    console.log(data);
});

Though again, I haven't tested these yet due to some computer issues I'm having.

patorjk avatar May 26 '19 23:05 patorjk

Thanks for the alternative but for some reason, the new figlet update seems to be infinitely indexing my WebStorm on the huge amount of fonts it has, It seems to be happening on to a friend also.

reazn avatar May 30 '19 12:05 reazn

The fonts folder has 287 files, the new importable-fonts folder also has 287 files. That doesn't seem like it should cause such a problem.

patorjk avatar May 30 '19 13:05 patorjk

I'm not sure why it is, but it is.

reazn avatar May 30 '19 16:05 reazn

I'm not familiar with WebStorm, but you may try marking the directory like shown here: https://stackoverflow.com/questions/36676075/webstorm-11-infinite-indexing-with-angular2

patorjk avatar May 30 '19 21:05 patorjk

That alternative you suggested has not worked very well. It makes the text move slightly off Image, It works fine when I manually put the .flf into a new fonts folder in my projects directory (because of the path error mentioned previously) but the parsefont thing really messes up the font for me.

reazn avatar Jun 02 '19 13:06 reazn

Hi, same problem here with intellij 2019.1 : infinite indexing with figlet/lib directory :'(

cyberbobjr avatar Jun 27 '19 07:06 cyberbobjr

@cyberbobjr I have a hacky fix for it, Just delete all the fonts and importable-fonts you don't use and it should fix the indexing. https://github.com/REAZN/figlet.js

reazn avatar Jun 27 '19 08:06 reazn