Gem Gem 报错 (OSX 10.8.4)

zerocool · 2013年08月11日 · 最后由 merlinran 回复于 2013年08月11日 · 3274 次阅读

我在帖子 http://ruby-china.org/topics/13224 里提到在 OSX 10.8.4 上用 gem 安装 rails 老是报错,原先以为是 rails 的问题,现在发现应该是 gem 的问题,因为就连我用gem update都报同样的错。网上找了很多解决办法,都不奏效,有遇到过同样问题的同学吗?请帮忙解答,捉急啊,谢谢!

Command Line Tools of XCode、Ruby2 和 GCC4.2 都已经安装了。

atom 无法编译,试试升级 Java

#2 楼 @ZeroCool 另外,可以查看以下 $PATH,看一下相关的 developer tools 是否在其中

#3 楼 @andor_chen 请告诉我具体操作命令好么,我太 new 了。。。

#4 楼 @ZeroCool 在终端输入 echo $PATH

#5 楼 @andor_chen /Users/zerocool/.rbenv/shims:/Users/zerocool/.rvm/gems/ruby-2.0.0-p247/bin:/Users/zerocool/.rvm/gems/ruby-2.0.0-p247@global/bin:/Users/zerocool/.rvm/rubies/ruby-2.0.0-p247/bin:/Users/zerocool/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/sm/bin:/opt/sm/pkg/active/bin:/opt/sm/pkg/active/sbin 请帮忙看看,所需的是不是都全了,谢谢!

#6 楼 @ZeroCool

  1. 运行 gem -v 查看版本号;
  2. 运行 gem update --system 升级到最新版;

#7 楼 @andor_chen 版本号 2.0.6 已经是最新,无法升级。Latest version currently installed. Aborting.

#8 楼 @ZeroCool 如果 Mac 可以远程桌面就好了

#9 楼 @andor_chen 我最近也全新安装了 10.8.4,没有遇到这种问题。给你提供一个思路

使用 rbenv 安装 ruby

rvm 坑太多,或许你可以试试 rbenv,说不定问题会解决,祝好运

#10 楼 @andor_chen 好的,谢谢!

#10 楼 @andor_chen 我就是用 rbenv 安装 ruby 的。。。好吧,我再找找别的办法,多谢!

#10 楼 @andor_chen 我照着你的文档http://about.ac/2012/04/install-ruby-with-rbenv.html 重新走了一遍,gem 报错的问题似乎解决了,但是现在的问题是明明提示已成功安装 rails,但是系统又不认为已经安装了 rails。如果你有时间的话,麻烦你再帮我看看吧,急,谢谢啦!

#13 楼 @ZeroCool 我今天也是新装,跟你遇到的所有问题都一模一样,不过终于搞定了。

这个报错其实是没有 bundle 导致的。 gem install bundle

另外既然用了 rbenv,安装 gem 就不需要 sudo 了吧。

#14 楼 @merlinran 没有 sudo 始终会报权限错误。照你说的,卸载了 rails,装了 bundle,再重新安装 rails,系统还是认为没有安装 rails。你的系统是 10.8.4 吗?

#15 楼 @ZeroCool 我是 10.8.4。

rbenv version看一下,已经是2.0.0了吗?另外gem -v应该是2.0.3。我怀疑是你的 rbenv 没派上用场。

其实这个错是在文件/usr/bin/rails里报的。

把这个文件拷贝到自己的目录,修改权限 cp /usr/bin/rails ~/rails-test && chmod u+w ~/rails-test 然后把异常打印出来:

rescue Exception => e
  p e
  ...

再执行~/rails-test,就能看出报错的具体原因啦。

#16 楼 @merlinran 你的方法相当不错,但我还是不知道应该如何解决,请赐教!

#17 楼 @ZeroCool 我好像误导你了~因为有了 rbenv,就不会执行/usr/bin/rails的…… 你试试which rails,输出应该是/Users/<username>/.rbenv/shims/rails,这才是 rails 调用的真正位置。

如果不是,你想想之前有没有执行echo 'eval "$(rbenv init -)"' >> ~/.bash_profile这一行?

另外,与 Andor这篇博文的区别,我是通过brew install rbenv,而不是git clone ...来安装 rbenv 的。

#18 楼 @merlinran 请帮忙看看最近一次我的尝试,问题似乎转移到缺少 railties 上了,不过我装了以后还是不行。另外,在我的机器上,gem install 必须要加 sudo,不然始终提示权限问题。

#19 楼 @ZeroCool 我的两个判断:

  1. 所有的 gem 安装都无须 sudo,否则 rbenv 也没意义了。

  2. gem install railties中提示的是~/.rvm/... EACCES。你应该把 rvm 全部清理干净。rvm implode,然后严格按它的提示去删除各个登录脚本中的内容。

#20 楼 @merlinran 真的非常非常感谢你!!!执行 rvm implode,然后用 rm 删除/etc/rvmrc 和~/.rmvrc 两个文件,然后重启,就可以用 gem install rails 正常安装 rails 了,多谢多谢!!!

#21 楼 @ZeroCool 不客气,带坛子里的同学集体上天兜一圈就成。

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