【问题标题】:Ruby on Rails - Errno::EACCES (Mac 10.9.1)Ruby on Rails - Errno::EACCES (Mac 10.9.1)
【发布时间】:2014-07-28 04:10:13
【问题描述】:

我安装了 Ruby (v. 2.1.2) 和 Rails (v. 4.1.4)。当我尝试启动服务器(使用命令 rails s)时出现错误:

`Could not find columnize-0.8.9 in any of the sources
Run `bundle install` to install missing gems.`

当我运行bundle install 时,我得到:

`...Errno::EACCES: Permission denied @ rb_sysopen - /Users/BBB/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/columnize-0.8.9/.gitignore 
An error occurred while installing columnize (0.8.9), and Bundler cannot continue.
Make sure that gem install columnize -v '0.8.9' succeeds before bundling.`

然后我尝试gem install columnize -v '0.8.9' 我的权限被拒绝了~

`ERROR:While executing gem ... (Errno::EACCES)
Permission denied @ rb_sysopen - /Users/BBB/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/columnize-0.8.9/.gitignore`

有人有什么想法吗?

【问题讨论】:

  • 也许可以试试rvmsudo gem install columnize -v '0.8.9'
  • 非常感谢!但是,在修复了这个错误之后,又出现了另一个“权限被拒绝”的问题。我也试试你的建议rvmsudo ...,它也修复了它!我能问一下为什么会发生这么多“权限被拒绝”吗?

标签: ruby-on-rails ruby macos rubygems rvm


【解决方案1】:

/Users/bor-shyangsheu/.rvm/ 是用户主目录中的目录,它是用户的本地路径(即 /Users/bor-shyangsheu/),它应该真正归 ' bor-shyangsheu' 用户。

因此,使用 sudo 安装东西没有任何意义。

而且,我猜之前的设置或 gem 安装是错误的(你之前可能不小心使用了sudo gem install 等),这导致你后来遇到了权限问题(包括这个)

我认为你现在应该做的是。

  1. 检查用户“bor-shyangsheu”属于哪个组。

    id bor-shyangsheu 或者,如果您当前以“bor-shyangsheu”身份登录,则只需输入id

  2. 将所有目录和文件的所有者更改为 bor-shyangsheu 及其组的所有者

    sudo chown -Rf bor-shyangsheu:<group name> /Users/bor-shyangsheu/.rvm/*

    例如,如果组名为“staff”,则运行此命令

    sudo chown -Rf bor-shyangsheu:staff /Users/bor-shyangsheu/.rvm/*

  3. 以后总是使用gem install <gem name>

希望这能更清楚地说明问题。

【讨论】:

    【解决方案2】:

    您可以尝试删除“Gemfile.lock”。您可以通过Bundler.io了解更多信息。

    在开发您的应用程序一段时间后,将应用程序连同 Gemfile 和 Gemfile.lock 快照一起签入。现在,您的存储库记录了您最后一次使用的所有 gem 的确切版本,您确定应用程序可以正常工作。请记住,虽然您的 Gemfile 仅列出了三个 gem(具有不同程度的版本严格性),但您的应用程序依赖于数十个 gem,一旦您考虑到您所依赖的 gem 的所有隐式要求。

    这很重要:Gemfile.lock 使您的应用程序成为您自己的代码和它最后一次运行的第三方代码的单个包,您可以确定一切正常。在 Gemfile 中指定您依赖的第三方代码的确切版本不会提供相同的保证,因为 gem 通常会为其依赖项声明一系列版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      • 2013-02-01
      相关资源
      最近更新 更多