在Windows 10上安装Ruby on Rails出现错误

5

我想在Windows 10上安装Ruby on Rails,按照这个视频的相同指示操作:https://www.youtube.com/watch?v=G-B_KUFNkQQ

安装Ruby完成后,我回到控制台,在运行gem install rails时,出现以下错误:

C:\Users\Usuario>gem install rails --no-document
Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
ERROR:  Error installing rails:
        ERROR: Failed to build gem native extension.

    current directory: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/mimemagic-0.3.9/ext/mimemagic
C:/Ruby27-x64/bin/ruby.exe -IC:/Ruby27-x64/lib/ruby/2.7.0/rubygems -rrubygems C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/rake-13.0.1/exe/rake RUBYARCHDIR\=C:/Ruby27-x64/lib/ruby/gems/2.7.0/extensions/x64-mingw32/2.7.0/mimemagic-0.3.9 RUBYLIBDIR\=C:/Ruby27-x64/lib/ruby/gems/2.7.0/extensions/x64-mingw32/2.7.0/mimemagic-0.3.9
rake aborted!
Could not find MIME type database in the following locations: ["/usr/local/share/mime/packages/freedesktop.org.xml", "/opt/homebrew/share/mime/packages/freedesktop.org.xml", "/usr/share/mime/packages/freedesktop.org.xml"]

Ensure you have either installed the shared-mime-info package for your distribution, or
obtain a version of freedesktop.org.xml and set FREEDESKTOP_MIME_TYPES_PATH to the location
of that file.

Tasks: TOP => default
(See full trace by running task with --trace)

rake failed, exit code 1

Gem files will remain installed in C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/mimemagic-0.3.9 for inspection.
Results logged to C:/Ruby27-x64/lib/ruby/gems/2.7.0/extensions/x64-mingw32/2.7.0/mimemagic-0.3.9/gem_make.out

我尝试通过更新和“gem install mime-types-data”来解决问题,但仍然存在相同的问题...

Ruby安装器是Ruby+Devkit 2.7.2-1(x64),我的ruby版本是ruby 2.7.2p137(2020年10月01日修订版5445e04352)[x64-mingw32]


你好,欢迎!我不是Windows用户,所以无法提供详细帮助,但错误信息已经提示了下一步该怎么做:“确保你的发行版已经安装了shared-mime-info软件包,或者获取freedesktop.org.xml的版本,并将FREEDESKTOP_MIME_TYPES_PATH设置为该文件的位置。” - Ryan Porter
https://dev59.com/b1EG5IYBdhLWcg3wQoVw - Taha Malik
6个回答

13

在Windows 10上安装ruby 2.6.2和rails 6.0.0.rc1

  1. https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/0440063a2e6823a4b1a6fb2f2af8350f/shared-mime-info-2.0.tar.xz下载shared-mime-info。
  2. 使用7Zip或WinRAR解压下载的包。
  3. 将其放置在您选择的位置,例如“C:\package”。
  4. 设置一个名为FREEDESKTOP_MIME_TYPES_PATH的新环境变量,并将值浏览到该位置,例如C:\shared-mime-info 2.0\data\freedesktop.org.xml.in。
  5. 刷新终端或CMD,例如Command。

refreshenv

  1. 最后,执行gem install rails -v 6.0.0.rc1

这正是我在寻找的。非常感谢。 - Prabo
你刚刚为我节省了很多时间!谢谢! - Mateo Villagomez

5
  • Windows 10
  • Ruby: 2.5.8

我从https://gitlab.freedesktop.org/xdg/shared-mime-info/下载了一个软件包,然后设置了环境变量(在Windows下)FREEDESKTOP_MIME_TYPES_PATH为该路径("c:....\data\freedesktop.org.xml.in")

同时我还安装了mime-types-data > gem install mime-types-data

起初它没起作用,但是在关闭并重新打开终端后生效。

提示:如果您使用的是vscode,需要重新打开vscode。

  • Mac

如果您使用的是macOS,请尝试以下操作:

brew install shared-mime-info

bundle update mimemagic


3
问题在于 mimemagic 团队昨天撤下了很多版本https://rubygems.org/gems/mimemagic/versions,现在你需要在你的发行版中安装 shared-mime-info 软件包。
我建议在 Windows 中使用 WSL 进行 Rails 开发,这将为未来节省很多问题。

1

针对MacOS或Linux - 安装shared-mime-info软件包以解决此问题。

MacOS

$ brew install shared-mime-info

Debian, Ubuntu

apt-get update && apt-get install -y shared-mime-info


0

通过快速的谷歌搜索,这似乎是合适的:

来自MimeMagic Github页面:

这个过程也适用于Windows机器。

  1. https://packages.debian.org/sid/amd64/shared-mime-info/download下载软件包

  2. 确保安装了7-Zip的命令行版本

  3. 7z x -so shared-mime-info_2.0-1_amd64.deb data.tar | 7z e -sidata.tar "./usr/share/mime/packages/freedesktop.org.xml"

将文件freedesktop.org.xml放置在适当的位置,然后将环境变量FREEDESKTOP_MIME_TYPES_PATH设置为该路径。

完成后,宝石应该可以成功安装。

请注意,宝石将依赖于文件在运行时保持在该位置。


0

如果您正在使用MacOS

Error:
Could not find MIME type database in the following locations: ["/usr/local/share/mime/packages/freedesktop.org.xml", "/opt/homebrew/share/mime/packages/freedesktop.org.xml", "/opt/local/share/mime/packages/freedesktop.org.xml",
"/usr/share/mime/packages/freedesktop.org.xml"]

然后下面的两个命令就像救世主一样。

$ brew install shared-mime-info

$ gem install mimemagic -v '0.3.10' --source 'https://rubygems.org/'
Building native extensions. This could take a while...
Successfully installed mimemagic-0.3.10
Parsing documentation for mimemagic-0.3.10
Installing ri documentation for mimemagic-0.3.10
Done installing documentation for mimemagic after 0 seconds
1 gem installed

然后运行包

$ bundle
$ bundle install

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接