ARM64架构(M1芯片):无法安装pg gem(使用PostgresApp)

2023-12-19

我一直在尝试在运行 Big Sur 的计算机(带有 M1 的 Macbook Pro 2020)上安装 Rails 项目。

我安装了 PostgresApp。

跑步时bundle install它无法构建pggem,所以我尝试手动安装gem(通过执行gem install pg- 也尝试过gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/10/bin/pg_config).

我收到一条错误消息:

ERROR:  Error installing pg:
ERROR: Failed to build gem native extension.

Can't find the PostgreSQL client library (libpq)
*** extconf.rb failed ***

检查错误日志时我看到:

have_library: checking for PQconnectdb() in -lpq... -------------------- no

ld: warning: ignoring file /Applications/Postgres.app/Contents/Versions/13/lib/libpq.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
Undefined symbols for architecture arm64:
  "_PQconnectdb", referenced from:
      _t in conftest-db479f.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
checked program was:
/* begin */
 1: #include "ruby.h"
 2:
 3: #include <libpq-fe.h>
 4:
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12:
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))PQconnectdb; return !p; }
/* end */

知道如何解决这个问题吗?


对于那些只是尝试安装 pg gem 并且不关心 PostgresApp 的人来说,在 M1 上修复 pg 的关键是确保存在libpq。这些步骤使我能够在我的 M1 mac 上安装 pg gem,而无需使用 x86 版本或构建标志:

brew install libpq
export PATH="/opt/homebrew/opt/libpq/bin:$PATH"
gem install pg
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ARM64架构(M1芯片):无法安装pg gem(使用PostgresApp) 的相关文章

  • 如何将 CarrierWave 文件迁移到新的存储机制?

    我有一个 Ruby on Rails 站点 其中包含使用 CarrierWave 进行文件处理的模型 当前使用本地存储 我想开始使用云存储 并且需要将现有的本地文件迁移到云端 我想知道是否有人可以指出这样做的方法 使用模型属性的好处是 它允
  • 如何通过Grape API获取路由

    我使用 gem grape 作为 api 我尝试通过命令获取 api urlrake grape routes namespace grape do desc routes task routes gt environment do API
  • 载波无法删除图像

    我现在使用 Carrierwave 上传图像 一切都很好 除了一个 当我添加用于删除上传图像的复选框时 我收到错误 无法批量分配受保护的属性 remove image Form Model class Manufacturer lt Act
  • 为 Ruby On Rails 环境创建 Docker 映像时出错(从 Dockerfile)

    估计是环境问题 当我手动执行此操作 没有 Dockerfile 时 它可以工作 这是我的 Dockerfile FROM ubuntu 14 04 RUN apt get update RUN apt get upgrade assume
  • Rails/heroku 从 gem 迁移到 toolbelt

    我曾经在一个项目中使用过 heroku gem 既然工具带已经出来了 我想换一个 我从 Gemfile 中删除了 gem 并通过 gem uninstall heroku 卸载了它 我使用heroku网站上的pkg安装了heroku工具带
  • 使用ajax轮询服务器

    我正在建立一个网站 该网站有一个用户可以互相发送消息的系统 我希望这样当登录用户收到消息时 他会在屏幕上看到一些更新告诉他这一点 这些消息不必是实时的 所以我认为我不想用彗星或主宰之类的东西来推动 相反 我很乐意每隔一分钟左右轮询一次服务器
  • 在 Rails 中强制内联渲染 PDF 文档

    我正在编写一个从一组 XML 文件生成 PDF 文件的服务 正在正确生成 PDF 但是 每次我单击 查看 PDF 链接时 浏览器都会要求用户下载 PDF 文件 我需要 PDF 内联显示 就像任何常规 HTML 页面一样 我虽然我写的代码是正
  • 在 Rails ActiveAdmin 视图中添加指向 Flash 通知的链接

    我正在尝试在活动管理控制器成功创建操作的闪存消息中添加链接 但是该链接的 HTML 被转义并在视图上显示为纯文本 Rails 5 2 1 ruby 2 5 3p105 2018 10 18 修订版 65156 x86 64 linux 例如
  • 我可以从安装 Rails 引擎的真实应用程序运行它的规格吗?

    我有一个 Rails 引擎 旨在为我们的一个更大的项目提供一些模型和控制器 引擎有一套相当不错的规格 在引擎的虚拟应用程序中使用了一堆模拟和一些全尺寸模型和控制器 以确保引擎正在做它应该做的事情并与更大的应用程序一起工作 然而 即使所有测试
  • 对 Rails 3.1 中的特定路由强制使用 SSL

    我需要强制启用 SSL所有路线在我的申请中除了landing index In config application rb 我有 config force ssl true Then in landing controller rb 我有
  • Ruby on Rails 从视图路由到控制器中的自定义方法

    我有一个控制器名称帖子 在我的 config routes rb 我用过这个 resources posts app controllers posts controller rb class PostsController lt Appl
  • 如何使用 AngularJS、Devise 和 UI Router 全局实现身份验证?

    我对 Angular 很陌生 所以这可能是一个新手问题 我正在尝试实现一个简单的任务管理器 只是一个练习 以 Rails 作为后端 以 Angular 作为前端 到目前为止 我遵循了教程 一切正常 现在我想在全球范围内实施身份验证 这意味着
  • json、rails、javascript 中的解析错误

    我需要将 ruby 数组放入 javascript 数组中 但出现解析错误 var characters 这就是我将 ruby 嵌入到内联 javascript 中的方式 但它出现了解析错误 我应该如何将此 ruby 数组放入 javasc
  • 使用 qunit 测试 emberjs/rails/devise 应用程序时“无法验证 CSRF 令牌真实性”

    我有一个 emberjs rails 应用程序 使用设备进行用户身份验证 我正在使用 qunit 构建集成测试 我在运行测试之前手动登录应用程序 测试期间可以处理 GET 请求 但 POST 请求失败 特别是 在发出 POST 请求时 我收
  • 在 Mac 上使用“sudo gem install nokogiri”安装 nokogiri 时出错

    我试图安装 nokogiri 因为它是启动 Rails 所必需的 rails s usr local rvm gems ruby 1 9 3 p194 global gems bundler 1 1 5 lib bundler spec s
  • Rails 7 缺失部分

    我正在升级到 Rails 7 1 并在使用 JS 部分的视图中遇到奇怪的错误 缺少部分 account stripe js erb application stripe js erb 与 locale gt fr formats gt ht
  • 即使使用 rvm pkg install zlib 后也无法加载此类文件 -- zlib

    我使用 rvm 安装了 zlib 包和 ruby 1 9 3 但是每当我尝试安装时 它说宝石cannot load such file zlib 我用来安装的命令是 rvm install 1 9 3 rvm pkg install zli
  • MongoMapper 和 bson_ext 问题

    我无法让 MongoMapper 与我的 Rails 应用程序一起使用 我收到此错误消息 注意 C 扩展未加载 这是最佳 MongoDB Ruby 驱动程序性能所必需的 您可以按如下方式安装扩展 宝石安装 bson ext 如果安装后继续收
  • 如果不选择 Updated_at 属性,则无法更新 Rails 4 中的模型

    我正在从 Rails 3 2 13 升级到 4 并遇到更新模型的问题 我正在尝试仅更新模型上的单个属性 其中我只有 id 我还需要验证和回调 这在 Rails 3 中运行良好 但在 Rails 4 中遇到了麻烦 在 Rails 4 中 如果
  • Unicorn + Rails + 大型上传

    我试图在使用 Rails 在 Heroku 上运行 Unicorn 时允许进行大型上传 但我意识到任何大型上传可能需要比 Unicorn 工作线程的超时时间更长的时间 这意味着 我见过这种情况发生 Unicorn 主进程将杀死上传大文件的工

随机推荐