Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails docker生成错误Gem::Ext::BuildError:错误:无法为mimemagic-0.3.9生成Gem本机扩展_Ruby On Rails_Docker_Dockerfile_Ruby On Rails 5 - Fatal编程技术网

Ruby on rails docker生成错误Gem::Ext::BuildError:错误:无法为mimemagic-0.3.9生成Gem本机扩展

Ruby on rails docker生成错误Gem::Ext::BuildError:错误:无法为mimemagic-0.3.9生成Gem本机扩展,ruby-on-rails,docker,dockerfile,ruby-on-rails-5,Ruby On Rails,Docker,Dockerfile,Ruby On Rails 5,我必须在本地计算机上构建docker映像,以验证它是否是构建映像,但在本地计算机上构建docker映像时,我面临这个问题 Installing mime magic 0.3.9 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /usr/local/bundle/gems/mimemagic-0.3.9/ext

我必须在本地计算机上构建docker映像,以验证它是否是构建映像,但在本地计算机上构建docker映像时,我面临这个问题

 Installing mime magic 0.3.9 with native extensions
    Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /usr/local/bundle/gems/mimemagic-0.3.9/ext/mimemagic
/usr/local/bin/ruby -I/usr/local/lib/ruby/2.7.0/rubygems -rrubygems
/usr/local/lib/ruby/gems/2.7.0/gems/rake-13.0.1/exe/rake
RUBYARCHDIR\=/usr/local/bundle/extensions/x86_64-linux/2.7.0/mimemagic-0.3.9
RUBYLIBDIR\=/usr/local/bundle/extensions/x86_64-linux/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"]


/usr/local/bundle/gems/mimemagic-0.3.9/ext/mimemagic/Rakefile:25:in `block in
<top (required)>'
Tasks: TOP => default
(See full trace by running task with --trace)

rake failed, exit code 1

Gem files will remain installed in /usr/local/bundle/gems/mimemagic-0.3.9 for
inspection.
Results logged to
/usr/local/bundle/extensions/x86_64-linux/2.7.0/mimemagic-0.3.9/gem_make.out

An error occurred while installing mimemagic (0.3.9), and Bundler cannot
continue.
Make sure that `gem install mimemagic -v '0.3.9' --source
'https://rubygems.org/'` succeeds before bundling.
安装带有本机扩展的mime magic 0.3.9
Gem::Ext::BuildError:错误:无法生成Gem本机扩展。
当前目录:/usr/local/bundle/gems/mimemagic-0.3.9/ext/mimemagic
/usr/local/bin/ruby-I/usr/local/lib/ruby/2.7.0/rubygems-rrubygems
/usr/local/lib/ruby/gems/2.7.0/gems/rake-13.0.1/exe/rake
RUBYARCHDIR\=/usr/local/bundle/extensions/x86_64-linux/2.7.0/mimemagic-0.3.9
RUBYLIBDIR\=/usr/local/bundle/extensions/x86_64-linux/2.7.0/mimemagic-0.3.9
雷克流产了!
在以下位置找不到MIME类型数据库:
[“/usr/local/share/mime/packages/freedesktop.org.xml”,
“/opt/homebrew/share/mime/packages/freedesktop.org.xml”,
“/usr/share/mime/packages/freedesktop.org.xml”]
/usr/local/bundle/gems/mimemagic-0.3.9/ext/mimemagic/Rakefile:25:in`block in`
'
任务:TOP=>default
(通过使用--trace运行任务查看完整跟踪)
rake失败,退出代码1
Gem文件将继续安装在/usr/local/bundle/gems/mimemagic-0.3.9中,以便
检查。
结果记录到
/usr/local/bundle/extensions/x86_64-linux/2.7.0/mimemagic-0.3.9/gem_make.out
安装mimemagic(0.3.9)时出错,Bundler无法启动
继续。
确保'gem install mimemagic-v'0.3.9'--源代码
'https://rubygems.org/“`捆绑前成功。

如果您正在使用macOS,请尝试以下操作

 brew install shared-mime-info
 bundle update mimemagic
并尝试捆绑您的gem文件

  • 修改
    Dockerfile
    以安装
    共享mime信息
    包。例如,在基于Debian的图像上:

    运行apt-get-update&&apt-get-install-y共享mime信息

  • 如果它仍然无法工作,那么您可能需要更新
    mimemagic
    gem。在主机上,在Rails应用程序的
    Gemfile
    /
    Gemfile.lock
    中更新
    mimemagic
    。您可能需要首先安装
    共享mime信息
    :如果主机是macOS,您可能需要运行
    brew安装共享mime信息
    ;如果主机是Ubuntu,您可能需要运行
    apt-get-install-shared-mime-info
    。然后跑

    bundle更新mimemagic

  • 如果您的
    Dockerfile
    从repo下载Rails应用程序,请先将更改推送到该repo。或者,为了进行测试,将
    Dockerfile
    修改为从主机复制到Rails应用程序中