0

我第一次安装基于 PostgreSQL 数据库的 RoR 应用程序并在运行命令rails new psql_app -d postgresql后遇到以下问题:

      ...
      create  vendor/assets/javascripts/.gitkeep
      create  vendor/assets/stylesheets
      create  vendor/assets/stylesheets/.gitkeep
      create  vendor/plugins
      create  vendor/plugins/.gitkeep
         run  bundle install
/Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:243:in `mkdir': Permission denied - /Users/adam/.gem/specs/rubygems.org%443 (Errno::EACCES)
    from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:243:in `fu_mkdir'
    from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:217:in `block (2 levels) in mkdir_p'
    from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:215:in `reverse_each'
    from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:215:in `block in mkdir_p'
    from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:201:in `each'
    from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:201:in `mkdir_p'
    from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/spec_fetcher.rb:125:in `fetch_spec'
    from /Users/adam/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/remote_specification.rb:47:in `_remote_specification'
    from /Users/adam/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/remote_specification.rb:53:in `method_missing'
    from /Users/adam/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/resolver.rb:101:in `block in __dependencies'
    ....

我还尝试重新设置与 PostgreSQL 数据库的连接,但没有成功……仍然出现此错误。当我尝试使用 MySQL 数据库创建新应用程序时,我没有收到此错误。

4

1 回答 1

2

这是捆绑程序无法写入您的 rvm 文件夹。我希望它与 Mysql 一起使用的原因是已经安装了适当的 gem,并且可能是使用 sudo 安装的,现在您正尝试以rails new当前用户身份运行adam

您可以使用sudo rails new psql_app -d postgresql或者您可以修复~/.gem目录中的权限。为此,您可能可以安全地键入:

sudo chown -R adam ~/.gem

这应该让您在不使用 sudo 的情况下安装 gems。

于 2012-03-12T13:17:12.063 回答