AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-1038162

marinnen128's questions

Martin Hope
marinnen128
Asked: 2020-01-28 16:32:47 +0800 CST

在 Ubuntu 16.04 下从 shell 脚本访问已安装的 ruby​​ gem 包的问题

  • 3

我snap以前安装的是最新版的rubyUbuntu 16.04下

$ sudo snap install ruby --classic
$ which ruby
/snap/bin/ruby
$ ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]

然后我安装了一个 ruby​​ gem pdfbeads(一个 PDF 创建实用程序)

sudo gem install pdfbeads

此命令将该实用程序安装在我的主目录中,为 ~/.gem/gems/pdfbeads-1.1.1/bin/pdfbeads. 但是,当我尝试在将 DJVU 文件转换为 PDF 格式的 shell 脚本中使用此程序时,我收到以下错误消息

djvu2pdf.sh: line 43: pdfbeads: command not found

虽然ruby链接在/snap/bin/我$PATH的默认情况下,~/.gem/但不是。这是gem environment安装后的pdfbeads:

$ gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 3.1.2
  - RUBY VERSION: 2.7.0 (2019-12-25 patchlevel 0) [x86_64-linux]
  - INSTALLATION DIRECTORY: ~/.gem
  - USER INSTALLATION DIRECTORY: ~/.gem/ruby/2.7.0
  - RUBY EXECUTABLE: /snap/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: ~/.gem/bin
  - SPEC CACHE DIRECTORY: ~/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: //etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - ~/.gem
     - /snap/ruby/172/lib/ruby/gems/2.7.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin
     - /usr/games
     - /usr/local/games
     - /snap/bin

我原以为 gem 包安装应该已经解决了路径问题,但显然情况并非如此 -pdfbeads不在执行目录路径中。

显然,我可以将这个特定目录添加~/.gem/gems/pdfbeads-1.1.1/bin/到我的目录中$PATH来解决这个特定问题。但是,由于这是我第一次使用ruby,所以我正在寻找一种更通用的解决方案,每次安装另一个 ruby​​ gem 时都不需要这样做。

我有一个问题要问所有ruby专家 - 是否有一些标准的、更优雅的方法来解决这个问题,也可以涵盖任何未来的 gem 安装?

ruby paths gem 16.04
  • 1 个回答
  • 1402 Views
Martin Hope
marinnen128
Asked: 2020-01-27 23:16:17 +0800 CST

无法安装 RMagick 4.0.0。在 Ubuntu 16.04 上找不到带有 pkg​​-config 的 ImageMagick

  • 5

尝试使用命令 $ gem install pdfbeads 在 Ubuntu LTS 16.04 上安装 pdfbeads 我收到错误消息“错误:无法安装 RMagick 4.0.0。无法使用 pkg-config 找到 ImageMagick”

分隔符之间的下方是相应的标准输出。


$ sudo gem 安装 pdfbeads

构建原生扩展。这可能需要一段时间... 成功安装 nokogiri-1.10.7 构建原生扩展。这可能需要一段时间... 错误:安装 pdfbeads 时出错:错误:无法构建 gem 原生扩展。

当前目录:/home/enemem/.gem/gems/rmagick-4.0.0/ext/RMagick

/snap/bin/ruby -I /snap/ruby/172/lib/ruby/2.7.0 -r ./siteconf20200127-10722-yuiix4.rb extconf.rb 检查 brew... 不检查 pacman... 否检查 gcc... 是 检查 pkg-config... 是

错误:无法安装 RMagick 4.0.0。使用 pkg-config 找不到 ImageMagick

* extconf.rb 失败 * 由于某种原因无法创建 Makefile,可能缺少必要的库和/或头文件。检查 mkmf.log 文件以获取更多详细信息。您可能需要配置选项。

提供的配置选项: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib -- without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/snap/ruby/172/bin/$(RUBY_BASE_NAME)


检查了 mkmf.log 文件,但它包含相同的信息,逐字记录。

然后我尝试使用命令

$ pkg-config --modversion imagemagick

并得到这个输出:


在 pkg-config 搜索路径中找不到软件包 imagemagick。也许您应该将包含 `imagemagick.pc' 的目录添加到 PKG_CONFIG_PATH 环境变量中找不到包 'imagemagick'


按照这个建议,我试图通过运行来查找 imagemagick 在我的系统上的位置:

$ sudo 定位 -b '\imagemagick*'

并得到输出:


/usr/lib/mime/packages/imagemagick /usr/share/app-install/desktop/imagemagick-6.q16:display-im6.q16.desktop /usr/share/app-install/desktop/imagemagick:display-im6 .desktop /usr/share/bug/imagemagick /usr/share/cups/ppdc/imagemagick.defs /usr/share/doc/imagemagick /usr/share/doc/imagemagick-6.q16 /usr/share/doc/imagemagick -common /usr/share/menu/imagemagick /var/lib/app-info/icons/ubuntu-xenial-main/64x64/imagemagick-6.q16_display-im6.q16.png /var/lib/app-info/icons /ubuntu-xenial-main/64x64/imagemagick_display-im6.q16.png /var/lib/app-info/icons/ubuntu-xenial-security-main/64x64/imagemagick-6.q16_display-im6.q16.png /var /lib/app-info/icons/ubuntu-xenial-security-main/64x64/imagemagick_display-im6.q16.png /var/lib/app-info/icons/ubuntu-xenial-updates-main/64x64/imagemagick-6 .q16_display-im6.q16。png /var/lib/app-info/icons/ubuntu-xenial-updates-main/64x64/imagemagick_display-im6.q16.png /var/lib/dpkg/info/imagemagick-6.q16.list /var/lib/ dpkg/info/imagemagick-6.q16.md5sums /var/lib/dpkg/info/imagemagick-common.conffiles /var/lib/dpkg/info/imagemagick-common.list /var/lib/dpkg/info/imagemagick- common.md5sums /var/lib/dpkg/info/imagemagick-common.postinst /var/lib/dpkg/info/imagemagick-common.postrm /var/lib/dpkg/info/imagemagick-common.preinst /var/lib/ dpkg/info/imagemagick.list /var/lib/dpkg/info/imagemagick.md5sums /var/lib/dpkg/info/imagemagick.postinst /var/lib/dpkg/info/imagemagick.postrm /var/lib/dpkg/信息/imagemagick.prerm列表 /var/lib/dpkg/info/imagemagick-common.md5sums /var/lib/dpkg/info/imagemagick-common.postinst /var/lib/dpkg/info/imagemagick-common.postrm /var/lib/dpkg/ info/imagemagick-common.preinst /var/lib/dpkg/info/imagemagick.list /var/lib/dpkg/info/imagemagick.md5sums /var/lib/dpkg/info/imagemagick.postinst /var/lib/dpkg/信息/imagemagick.postrm /var/lib/dpkg/info/imagemagick.prerm列表 /var/lib/dpkg/info/imagemagick-common.md5sums /var/lib/dpkg/info/imagemagick-common.postinst /var/lib/dpkg/info/imagemagick-common.postrm /var/lib/dpkg/ info/imagemagick-common.preinst /var/lib/dpkg/info/imagemagick.list /var/lib/dpkg/info/imagemagick.md5sums /var/lib/dpkg/info/imagemagick.postinst /var/lib/dpkg/信息/imagemagick.postrm /var/lib/dpkg/info/imagemagick.prerm


我系统上的 imagemagick 包的版本是 6.8.9.9


$ sudo apt 搜索 ImageMagick | 已安装 grep

imagemagick/xenial-updates,xenial-security,现在 8:6.8.9.9-7ubuntu5.15 amd64 [已安装] imagemagick-6.q16/xenial-updates,xenial-security,现在 8:6.8.9.9-7ubuntu5.15 amd64 [已安装] imagemagick-common/xenial-updates,xenial-updates,xenial-security,xenial-security,now 8:6.8.9.9-7ubuntu5.15 all [已安装] libgraphicsmagick++-q16-12/xenial-updates,xenial-security,现在 1.3.23-1ubuntu0.5 amd64 [已安装,自动] libgraphicsmagick-q16-3/xenial-updates,xenial-security,现在 1.3.23-1ubuntu0.5 amd64 [已安装,自动] libimage-magick-perl/xenial-更新,xenial-updates,xenial-security,xenial-security,现在 8:6.8.9.9-7ubuntu5.15 所有 [已安装,自动] libimage-magick-q16-perl/xenial-updates,xenial-security,现在 8:6.8 .9.9-7ubuntu5.15 amd64 [已安装,自动] libmagick++-6.q16-5v5/xenial-updates,xenial-security,现在 8:6.8.9.9-7ubuntu5.15 amd64 [已安装,自动] libmagickcore-6.q16-2/xenial-updates,xenial-security,现在 8:6.8.9.9-7ubuntu5.15 amd64 [已安装] libmagickwand-6.q16-2/xenial-updates,xenial-security,现在 8 :6.8.9.9-7ubuntu5.15 amd64 [已安装] perlmagick/xenial-updates,xenial-updates,xenial-security,xenial-security,now 8:6.8.9.9-7ubuntu5.15 all [已安装,自动]


任何人都可以帮忙吗?

imagemagick gem 16.04 pkg-config
  • 1 个回答
  • 4535 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve