【问题标题】:Can't install pg (0.18.4) OR mime-types-data (3.2016.0221)无法安装 pg (0.18.4) 或 mime-types-data (3.2016.0221)
【发布时间】:2016-05-19 20:52:46
【问题描述】:

我正在尝试使用 postgresql 数据库设置一个 ruby​​ on rails 项目,并且正在发生这种情况:

当我将 gem 'pg' 添加到 gemfile 并运行 bundle install 时,输出如下:

An error occurred while installing pg (0.18.4), and Bundler cannot continue.
Make sure that `gem install pg -v '0.18.4'` succeeds before bundling.

当我运行gem install pg -v '0.18.4' 时,会发生这种情况:

ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied @ rb_sysopen

当我运行sudo gem install pg -v '0.18.4' 时:

Building native extensions.  This could take a while...
Successfully installed pg-0.18.4
1 gem installed
Installing ri documentation for pg-0.18.4...
Installing RDoc documentation for pg-0.18.4...

当我运行sudo bundle install 时:

An error occurred while installing mime-types-data (3.2016.0221), and Bundler cannot continue.
Make sure that `gem install mime-types-data -v '3.2016.0221'` succeeds before bundling.

当我运行sudo gem install mime-types-data -v '3.2016.0221'

ERROR:  Error installing mime-types-data:
        mime-types-data requires Ruby version >= 2.0.

当我运行ruby -v 时:

ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]

当我运行sudo ruby -v 时:

ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux

我正在使用 rbenv。有几篇关于我遇到的问题的帖子,我尝试了几件事,但似乎没有什么对我有用。这是我已经尝试过的:

sudo apt-get install libpq-dev (I use Ubuntu)

一个可能的解决方案来自:Error message: Make sure that `gem install pg -v '0.18.1'` succeeds before bundling

which pg_config

this will return ==> /usr/pgsql-9.1/bin/pg_config

now use this path as

bundle config build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config

Done now bundle install

没用。在这一点上,我迷路了。我有另一个 ruby​​ on rails 项目,运行没有问题,但是我开始的每个新项目都有这个问题。有什么建议吗?

【问题讨论】:

  • 试试这个 sudo apt-get install postgresql-9.3 postgresql-server-dev-9.3
  • 我做到了,然后我运行了 sudo bundle install ,结果出现了:安装 byebug (9.0.4) 时出错,并且 Bundler 无法继续。在捆绑之前确保gem install byebug -v '9.0.4' 成功。当我执行 gem install byebug -v '9.0.4' 时,出现:错误:安装 byebug 时出错:byebug 需要 Ruby 版本 >= 2.0.0。
  • 我将 gem byebug 更改为 gem 'pry-byebug', platform: [:ruby_20] 并且当我运行 sudo bundle install 时,它似乎可以工作,但是每当我使用 bundle install 时,就像我通常一样做,与 pg 0.18.4 相同的错误来了。我现在需要在我做任何事情之前制作 sudo 吗?
  • 实际上,当我使用 sudo bundle install 时,会出现 pg 0.18.4 的错误。

标签: ruby-on-rails postgresql


【解决方案1】:

我删除了 Ruby,然后重新安装了 Ruby,它现在似乎可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-23
    • 2016-07-13
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 2013-08-25
    • 2013-02-20
    • 2015-03-16
    相关资源
    最近更新 更多