0

我最近升级到 Ruby 2 和 Rails 4

$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0]

$ rails -v
Rails 4.0.0

现在,当我创建一个新的 rails 应用程序时,当捆绑安装部分发生时,我会被要求输入我的系统密码,这在以前从未发生过。它也需要永远。参考截图:http: //i.imgur.com/6kh4g63.png

其次,每当我的 Gemfile 中出现我还没有的 gem 时,它都需要安装。在这种情况下,我完全得到了一个权限被拒绝的错误。参考截图:http: //i.imgur.com/rcIq5Vq.png

另外,当我想运行“rake db:migrate”时,我现在必须使用 sudo 运行它,而以前不是这样。如果我执行 sudo bundle install,那么即使是我的 Gem 安装问题也会得到解决。

然而,这不是我过去的工作流程,我想弄清楚为什么会突然出现这种情况。甚至我以前可以通过简单地输入“rails s”开始的 Rails 服务器现在也需要我输入“sudo rails s”。

有谁知道是什么原因造成的,我该如何解决?

谢谢你。

4

1 回答 1

0

好的,所以我想我已经解决了。不确定这是否是好的做法,但它有效,所以我想我会回答:

首先,我通过键入:“which rails”找到了我的 rails 所在的位置
它给了我:/usr/local/rvm/gems/ruby-2.0.0-p247/bin/rails

所以我去了那个文件夹: cd /usr/local/rvm/gems/ruby-2.0.0-p247/bin
我看到一切都归root所有。所以我把它改成了我的用户名:
sudo chown -R Myname *

我对 ruby​​ 做了同样的事情:“which ruby​​”
cd /usr/local/rvm/rubies/ruby-2.0.0-p247/bin
sudo chown -R Myname *

我认为这会起作用,但是当安装新的 gem 时,它尝试复制的文件夹将没有我的用户名的写入权限。这个文件夹是:/usr/local/rvm/gems/ruby-2.0.0-p247/build_info/

所以我做了: cd /usr/local/rvm/gems/ruby-2.0.0-p247
然后拥有文件夹: sudo chown -R Myname build_info

瞧,现在一切正常。

如果这是不好的做法或不安全,请纠正我。

谢谢你。

于 2013-07-05T07:14:47.263 回答