我最近升级到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中,我还没有,它需要安装。在这种情况下,我得到了一个权限被拒绝错误。参考屏幕截图:http://i.imgur.com/rcIq5Vq.png
另外,当我想运行“rake db:migrate”时,我现在必须用sudo运行它,而以前情况并非如此。如果我做sudo bundle install,那么即使我的Gem安装问题也会得到修复。
然而,这不是我以前的工作流程,我想弄清楚为什么突然出现这种情况。即使我以前只需输入“rails s”就可以启动我的rails服务器,现在要求我输入“sudo rails s”。
有谁知道造成这种情况的原因以及我如何解决这个问题?
谢谢。
答案 0 :(得分:0)
好的,所以我想我已经解决了。不确定这是不是很好的做法,但它有效,所以我想我会回答:
首先,我通过键入:“which 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 *
我为红宝石做了同样的事:“红宝石”
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
瞧,现在一切正常。
如果这是不良做法或不安全,请纠正我。
谢谢。