Why is Popen not working for espeak-ruby in my programme?

40 Views Asked by At

I installed espeak-ruby using Bundle, but when I call it in my programme (insult.rb), it throws the following error.

C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/espeak-ruby-1.1.0/lib/espeak/voice.rb:17:in `popen': No such file or directory - espeak --voices (Errno::ENOENT)
    from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/espeak-ruby-1.1.0/lib/espeak/voice.rb:17:in `all'
    from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/espeak-ruby-1.1.0/lib/espeak.rb:8:in `<top (required)>'
    from insult.rb:3:in `require'
    from insult.rb:3:in `<main>'

This is my gemfile (generated using bundle init):

# frozen_string_literal: true

source "https://rubygems.org"
gem "espeak-ruby", require: "espeak"

# gem "rails"

These are the lines I use to access espeak-ruby in insult.rb:

require 'rubygems'
require 'bundler/setup'
require 'espeak'

How do I fix this error? I tried reinstalling espeak-ruby and its dependencies. I'm a Ruby newbie, please ask if you need any other details or clarification.

0

There are 0 best solutions below