由于json gem错误,无法运行Rails服务器

时间:2015-04-14 16:16:33

标签: ruby-on-rails json gem

尝试运行rails服务器时出错。好像我无法正确安装json gem。当我第一次尝试安装宝石时,我得到了json gem的1.8.2版本。出于某种原因,当我尝试运行服务器时,我收到了与附加的相同的错误消息。为了安装json的1.7.7版本,我已经卸载了1.8.2 gem。

有谁知道如何解决这个问题?提前谢谢你:)

$ rails s
Could not find json-1.7.7 in any of the sources
Run `bundle install` to install missing gems.

$ bundle install
Fetching gem metadata from https://rubygems.org/........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Using rake 10.0.3
[...]
Using rack-ssl 1.3.3

Errno::EACCES: Permission denied @ rb_sysopen - /Users/annemarit/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/json-1.7.7/.gitignore
An error occurred while installing json (1.7.7), and Bundler cannot continue.
Make sure that `gem install json -v '1.7.7'` succeeds before bundling.

$ gem install json -v '1.7.7'
ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied @ rb_sysopen - /Users/annemarit/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/json-1.7.7/.gitignore

1 个答案:

答案 0 :(得分:0)

当权限被拒绝时,这有时可能意味着您使用sudo权限安装了gem,这意味着您必须拥有root权限才能安装/更新。这件事发生在我身上,因为我以root身份登录并忘记了,所以我用root访问安装了所有内容。

我找到的解决方案是卸载所有内容并重新安装为非sudo。这是一个痛苦的过程,但它修复了我的无权限错误。如果你继续以root身份继续安装所有内容作为sudo,你也会遇到重大问题,因此在开发RoR应用程序时永远不要在sudo中运行。

我希望这有帮助!