执行rails new初始化失败、gem install pg无法正常安装问题求助
解决方案
1. 修复Ruby版本混乱问题
你安装gem时调用的是系统默认的/usr/bin/ruby2.7,和你本地配置的Ruby 3.0.0不一致,是因为sudo命令会重置环境变量,导致rbenv/RVM等版本管理工具的配置不生效,日常安装gem不需要加sudo。
- 如果你使用rbenv,执行
rbenv local 3.0.0确认当前目录使用目标Ruby版本 - 如果你使用RVM,执行
rvm use 3.0.0确认当前Ruby版本
2. 修复libpq-dev头文件缺失问题
已安装libpq-dev但未生成对应头文件目录属于包安装异常,执行以下命令重置:
sudo apt update sudo apt remove --purge postgresql-server-dev-all libpq-dev sudo apt autoremove sudo apt install libpq-dev postgresql-server-dev-all
安装完成后执行ls /usr/include/postgresql,确认目录下存在libpq-fe.h文件。
3. 安装pg gem
不要加sudo直接执行:
gem install pg
如果仍提示找不到头文件,手动指定pg_config路径安装:
gem install pg -- --with-pg-config=/usr/bin/pg_config
如果使用bundler管理依赖,执行全局配置后再运行bundle install即可:
bundle config build.pg --with-pg-config=/usr/bin/pg_config bundle install
4. 修复其他原生gem安装报错
racc、byebug等gem安装报错属于缺少通用原生扩展编译依赖,执行以下命令安装即可:
sudo apt install build-essential ruby-dev libssl-dev libreadline-dev zlib1g-dev
内容的提问来源于stack exchange,提问作者Learn-ing
相关产品推荐
相关产品推荐

