本人 archlinux。通过 sudo gem install rails 安装时出现以下 Warning:
WARNING: You don't have /root/.gem/ruby/1.9.1/bin in your PATH, gem executables will not run. Successfully installed rails-3.2.2
提示安装成功。但是输入 rails 命令出现一下错误:
-> % rails zsh: correct 'rails' to 'tail' [nyae]? n zsh: command not found: rails
不知何解。在另一台 arch 上问题依旧。望高人指点
你这个是用了 zsh 的原因,去 stackoferflow 一搜一大堆这样的问题
http://stackoverflow.com/questions/9320556/rails-missing-after-installing-oh-my-zsh 另我你看看你 .zshrc 文件
plugins=(git rvm ruby rails autojump)
WARNING: You don't have /root/.gem/ruby/1.9.1/bin in your PATH
不懂 zsh,不过看起来跟这个有关,把这个目录加进 PATH 看看?
我在。zshrc 里添加如下
PATH=$PATH:$HOME/.rvm/bin:$HOME/.gem/ruby/1.9.1/bin # Add RVM to PATH for sc ripting
。rails 成功运行!
谢谢诸位了。貌似是 PATH 的问题了
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
就够了,后面那个 ruby1.9.1 会不会把 ruby 版本写死了
我在另一台 arch(没有安装 rvm)的.zshrc 文件添加 PATH
PATH=$PATH:$HOME/.gem/ruby/1.9.1/bin
可以 rails 了。看样子应该确实是zsh 的问题了。
@huobazi $HOME/.gem/ruby/1.9.1/bin 是我添加后 rails 才能用。不知道为什么。似乎是 ruby 的库被固定在了 1.9.1
我刚才很疑惑为什么 rails 要装到 .gem/ruby/1.9.1
.
而 bundler
却装到了 .rvm
相关目录下面了.
google 了一下,网上有说是是因为 ruby 1.9.2 release FAQ 里面解释到:
Standard library is installed in /usr/local/lib/ruby/1.9.1 This version is a "library compatible version." Ruby 1.9.2 is almost 1.9.1 compatible, so the library is installed in the 1.9.1 directory.
不知道跟这个有没有关系....
@cursorzz 执行 cat ~/.gemrc
看下你的 gemrc 的信息!!!
如果里面有类似这行 --user-install
那就真 XXX 悲剧了.
我搞了一下午,就因为这个参数。它会把东西都装到 ~/.gem/ruby/1.9.1/
里面。
所以会提醒我们没有把那个路径加到 PATH
里面。
去掉那个参数,不在PATH
加那路径,一切运行正常。
我从来都没碰过 .gemrc
!!!
---
:backtrace: false
:benchmark: false
:bulk_threshold: 1000
:sources:
- http://ruby.taobao.org/
:update_sources: true
:verbose: true
@ichord 几天没来了 (最近太忙了)..问题已解决,确实是 gemrc 的问题。所以如果有人遇到了类似的问题。请检查/etc/gemrc 和~/.gemrc 中是否会有--user-install
.如果有请将其注释。
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
zsh: command not found: curl