各位大神, 你们好! 今天在启动 rails server 的时候,第一次输入 rails server,控制台是这么说的:
可是我输入 rails -v 是没有问题的啊
然后我换一个目录后就.......告诉我没有装 rails,怎么可能!!!!
通过 google 在网上找到了一个解决方法,但是指标不治本,只能在当前的终端下管用,换终端还得操作一遍,敢问我的病根在哪啊? 目前解决方案:在命令行把 ruby 和 rails 关联起来——
rvm implode
卸载 rvm,使用 rbenv 安装 Ruby,教程这里 https://gorails.com/setup/osx/10.9-mavericks
rails s
要在应用的目录下才能运行
#1 楼 @sundevilyang 我就不懂了,rbenv 不但比 rvm 麻烦,而且切换原理跟 rvm 一样“脏”(通过不同的方法)。如果不喜欢 version manager 污染 shell,那就不要用 version manager。
从提示信息看,sample_app 的 Gemfile 里面指定了 ruby 版本,而 rvm 读取了这个信息,于是切换到了这个 ruby 版本,但是 rvm 没有安装这个 ruby 版本或者这个 ruby 版本没有安装 rails。
在工程目录下,运行下面命令
rvm use ruby-2.1.1@kitty --ruby-version
记得把 ruby-2.1.1 换成你的 ruby 版本,kitty 换成你的 gmeset 名,--ruby-version 参数是生成.ruby-gemset 和.ruby-version 文件
你可以运行rvm help use
查看 use 指令的具体使用方法 https://rvm.io/workflow/projects#ruby-versions
第一个你在~目录下而不是 rails 项目下当然没有 rails server 的命令了. 第二个由于 ruby 版本区别造成,就是你在版本 a 下装了 rails,但是你现在用的版本 b,没有装 rails,gem 都是装在对应的 ruby 版本下的。可以执行一下 bundle install 第三 sudo 安装不是好习惯。