新手问题 Fedora 下 Rails 权限问题

weiwei5987 · 2012年08月28日 · 最后由 xds2000 回复于 2012年08月28日 · 3053 次阅读

用的是普通用户创建的项目,没法 bundle install,用 root 用户 bundle install 的,结果 Gemfile.lock 变成 root 权限了,接下来 generate scaffold 的时候就有 Gemfile.lock 权限错误了,菜鸟求喷~~

用 root 权限删掉 Gemfile.lock

用 rvm 呗,普通用户也可以 bundle install

#2 楼 @ywencn 这个好像从根本上解决了问题,决定试下。

你用的参数不对吧,有个参数是可以装到 home 目录下的

#5 楼 @bhuztez 我是在工程的目录下运行 rails generate scaffold purchase name:string cost:float 这个出错的

@weiwei5987 分两步走,

  • 第一步,给系统默认的 Ruby 安装 gem,这个是需要 root 权限的。如果对系统不理解,可以在你的个人 home 目录安装 rvm,本社区有安装文档,你可以参考。
  • 第二步,不要带 sudo 权限或 root 权限执行,在你的 home 下玩。这里有一个 case,你的项目可以需要一个 gem 包,但系统没有,这时如果你使用默认系统 ruby,它一定是需要到系统目录安装 gems.恰巧你使用普通 user 执行 bundle install,肯定失败。如果直接 sudo bundle install,Gemfile.lock 有变成 root 权限。这个 case 就是你的困惑。作为新手问题,建议直接使用 rvm 来管理你的包和环境,这样不会出困惑。

#7 楼 @xds2000

http://guides.rubygems.org/command-reference/#gem_install

gem是可以--user-install的。bundle应该也可以这么搞吧。

#7 楼 @xds2000 1.安装软件一直都是直接用 root 用户在线,不是通过源码安装,没想到在这里遇到了问题。 2.我的就是这个 case,但还是不太明白你的意思,在我的 home 下玩是什么意思呢?

#8 楼 @bhuztez 哦~~~,刚学,不知道这个,呵呵~~

@bhuztez 关键@weiwei5987 对 Linux 系统了解的还不够,对他来说太过繁琐。简单的来说,参考本社区的 WIKI 文档,坚持在 RVM 下练习就可以无烦恼了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号