已安装 Ghostscript 但未找到 RGhost::Config::GS[:path]='/path/to/my/gs'
Ghostscript installed but not found RGhost::Config::GS[:path]='/path/to/my/gs'
我已经尝试了几个小时来解决这个问题,我到处寻找解决方案,但没有找到。我正在尝试 运行 对我的项目进行规范测试,但出现以下错误:
RuntimeError:
Ghostscript not found in your system environment (linux-gnu).
Install it and set the variable RGhost::Config::GS[:path] with the executable.
Example: RGhost::Config::GS[:path]='/path/to/my/gs' #unix-style
RGhost::Config::GS[:path]="C:\gs\bin\gswin32c.exe" #windows-style
我试着把 RGhost::Config::GS[:path]='/usr/local/bin/gs'
和它 returns:
bash: RGhost::Config::GS[:path]=/usr/local/bin/gs: No such file or directory
但是 ghostscript 已安装,我做了一切(make、sudo make install 等),当我 运行 gs -v
它 returns:
GPL Ghostscript 9.26 (2018-11-20)
Copyright (C) 2018 Artifex Software, Inc. All rights reserved.
当我使用用户界面并在“文件”应用程序中搜索“gs”时,在 /home/marcelle/projects/ghostscript-9.26/bin/gs
中找到了它,我也尝试过:
RGhost::Config::GS[:path]='/home/marcelle/projects/ghostscript-9.26/bin/gs'
和它returns同样的错误:
bash: RGhost::Config::GS[:path]=/home/marcelle/projects/ghostscript-9.26/bin/gs: No such file or directory
我还尝试使用 autoremove 和 purge 从我的笔记本中删除 ghostscript,然后使用我之前提到的(./configure、make、sudo make install)重新安装它,重新启动笔记本、终端,但什么也没有。
PS:我正在使用 Ubuntu 20.04.
我想出了一个解决办法。寻找 Rghost 的代码,我在其规范中看到的是预期的路径与 ghostscript 的实际路径不同。
当我 运行 whereis or which 在我的终端上时,它 returns:
which gs
/usr/local/bin/gs
所以我试图指向这条路径。但是看到我在 github for Rghost 上找到的 Rghost 规范测试,我们可以看到它期望 /usr/bin/gs:
it 'should detect linux env properly' do
RbConfig::CONFIG.should_receive(:[]).twice.with('host_os').and_return('linux')
File.should_receive(:exists?).with('/usr/bin/gs').and_return(true)
RGhost::Config.config_platform
RGhost::Config::GS[:path].should == '/usr/bin/gs'
end
所以它期望 /usr/bin 而不是 /usr/local/bin。
然后我只是复制到那个路径和规范 运行 没有问题了:
sudo cp /usr/local/bin/gs /usr/bin
我完全没有使用 Ruby 的经验,但是我在使用 asciidoctor 时也遇到了这个错误,它使用 rghost 生成 PDF。
错误中提到的命令RGhost::Config::GS[:path]='/path/to/my/gs'
不是shell命令,这就是bash
无法处理的原因。然而,对我来说,也不是立即清楚如何使用这个命令。我希望有一种简单的方法可以在某处设置此变量,但找不到它。
对我有用的是搜索 rghost.rb 文件,这是设置并可以更改此变量的地方。在 Windows 中,它位于 C:\Ruby30-x64\lib\ruby\gems.0.0\gems\rghost-0.9.7\lib\rghost.rb
。
在这个文件中,我添加了以下行,解决了问题:
RGhost::Config::GS[:path]="C:\Program Files\gs\gs9.55.0\bin\gswin64c.exe"
注意:提到的路径可能因人而异,因此请确保使用对您的系统有效的路径。
我已经尝试了几个小时来解决这个问题,我到处寻找解决方案,但没有找到。我正在尝试 运行 对我的项目进行规范测试,但出现以下错误:
RuntimeError:
Ghostscript not found in your system environment (linux-gnu).
Install it and set the variable RGhost::Config::GS[:path] with the executable.
Example: RGhost::Config::GS[:path]='/path/to/my/gs' #unix-style
RGhost::Config::GS[:path]="C:\gs\bin\gswin32c.exe" #windows-style
我试着把 RGhost::Config::GS[:path]='/usr/local/bin/gs'
和它 returns:
bash: RGhost::Config::GS[:path]=/usr/local/bin/gs: No such file or directory
但是 ghostscript 已安装,我做了一切(make、sudo make install 等),当我 运行 gs -v
它 returns:
GPL Ghostscript 9.26 (2018-11-20)
Copyright (C) 2018 Artifex Software, Inc. All rights reserved.
当我使用用户界面并在“文件”应用程序中搜索“gs”时,在 /home/marcelle/projects/ghostscript-9.26/bin/gs
中找到了它,我也尝试过:
RGhost::Config::GS[:path]='/home/marcelle/projects/ghostscript-9.26/bin/gs'
和它returns同样的错误:
bash: RGhost::Config::GS[:path]=/home/marcelle/projects/ghostscript-9.26/bin/gs: No such file or directory
我还尝试使用 autoremove 和 purge 从我的笔记本中删除 ghostscript,然后使用我之前提到的(./configure、make、sudo make install)重新安装它,重新启动笔记本、终端,但什么也没有。
PS:我正在使用 Ubuntu 20.04.
我想出了一个解决办法。寻找 Rghost 的代码,我在其规范中看到的是预期的路径与 ghostscript 的实际路径不同。 当我 运行 whereis or which 在我的终端上时,它 returns:
which gs
/usr/local/bin/gs
所以我试图指向这条路径。但是看到我在 github for Rghost 上找到的 Rghost 规范测试,我们可以看到它期望 /usr/bin/gs:
it 'should detect linux env properly' do
RbConfig::CONFIG.should_receive(:[]).twice.with('host_os').and_return('linux')
File.should_receive(:exists?).with('/usr/bin/gs').and_return(true)
RGhost::Config.config_platform
RGhost::Config::GS[:path].should == '/usr/bin/gs'
end
所以它期望 /usr/bin 而不是 /usr/local/bin。 然后我只是复制到那个路径和规范 运行 没有问题了:
sudo cp /usr/local/bin/gs /usr/bin
我完全没有使用 Ruby 的经验,但是我在使用 asciidoctor 时也遇到了这个错误,它使用 rghost 生成 PDF。
错误中提到的命令RGhost::Config::GS[:path]='/path/to/my/gs'
不是shell命令,这就是bash
无法处理的原因。然而,对我来说,也不是立即清楚如何使用这个命令。我希望有一种简单的方法可以在某处设置此变量,但找不到它。
对我有用的是搜索 rghost.rb 文件,这是设置并可以更改此变量的地方。在 Windows 中,它位于 C:\Ruby30-x64\lib\ruby\gems.0.0\gems\rghost-0.9.7\lib\rghost.rb
。
在这个文件中,我添加了以下行,解决了问题:
RGhost::Config::GS[:path]="C:\Program Files\gs\gs9.55.0\bin\gswin64c.exe"
注意:提到的路径可能因人而异,因此请确保使用对您的系统有效的路径。