我已经使用 Brew 安装了 PostgreSQL(之前曾尝试使用 PostgreSQL 网站上的独立安装程序进行安装),但是当我尝试捆绑安装时收到以下错误消息:
Errno::EACCES: Permission denied - /Users/xxxxx/.rvm/gems/ruby-1.9.3-p194/gems/pg-0.14.1/.gemtest An error occurred while installing pg (0.14.1), and Bundler cannot continue. Make sure that `gem install pg -v '0.14.1'` succeeds before bundling.
我在 Stackoverflow 上找到了各种潜在的解决方案,但似乎都没有解决这个问题。
psql --version
返回:9.2.1
which psql
返回:/usr/local/bin/psql
任何人都认识到这个错误,和/或对如何修复它有任何进一步的想法?
如果做不到这一点,我想我可以在本地坚持使用 SQLite,并在生产环境中使用 PostgreSQL。我假设我需要手动对database.yml
文件进行以下更改(我即将首次部署):
production:
adapter: postgresql
encoding: unicode
database: myapp_production
pool: 5
username: myapp
password:
而且,在我的 gemfile 中,包括以下内容(请注意,运行 bundle install 返回相同的错误,但因为我假设生产服务器上的 PostgreSQL 安装不会有任何错误,我认为它应该仍然有效?) :
group :production do
gem 'pg'
end
编辑:从头开始,如果 gem 'pg' 包含在 gemfile 中,Webrick 根本不会运行。
编辑 2:另外,当我尝试运行 rvmsudo gem install pg 时,我得到了这个:
ld: in /usr/local/lib/libssl.0.9.8.dylib, missing required architecture x86_64 in file
collect2: ld returned 1 exit status
make: *** [pg_ext.bundle] Error 1
** 编辑 3:** 承认失败。
嗨伙计,
首先,感谢您的所有帮助。
不幸的是,两天后,我将不得不认输。
无论我尝试哪种方法,无论我使用 EnterpriseDB 版本还是 Homebrew 安装版本的 PostgreSQL,我都无法安装 pg gem。我已经尝试了以下所有方法:
install gem pg
sudo install gem pg
rvmsudo install gem pg
sudo env PATH=/library/PostgreSQL/9.2/bin:$PATH gem install pg (when using the EnterpriseDB installer)
rvmsudo env PATH=/library/PostgreSQL/9.2/bin:$PATH gem install pg (ditto)
rvmsudo env PATH=/library/PostgreSQL/9.2/bin:$PATH ARCHFLAGS="-arch x86_54" gem install
我选择上述任何一种方法都会返回以下错误:
ld: in /usr/local/lib/libssl.0.9.8.dylib, missing required architecture x86_64 in file
每当我尝试通过捆绑安装安装 gem 时,都会收到以下错误:
Errno::EACCES: Permission denied - /Users/xxx/.rvm/gems/ruby-1.9.3-p194/gems/pg-0.14.1/.gemtest
An error occurred while installing pg (0.14.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.14.1'` succeeds before bundling.
我不能在这上面花更多的时间,所以我硬着头皮,可能会改用 MySQL。
再次感谢,
格雷姆
最终编辑 - 已修复!请参阅下面的答案以了解我是如何做到的,因为它可能对其他人有所帮助**