我刚刚从Heroku切换到亚马逊网络服务。以前我使用带有Ruby的命令提示符(来自我的Windows PC)运行了所有Rails命令行命令。但是,在我登录我的Amazon Linux EC2实例,然后进入我的应用程序目录后,我收到此错误:
/usr/bin/rails:9:in `require': no such file to load -- rubygems (LoadError)
from /usr/bin/rails:9
当我尝试运行rails console
等任何命令时。
我回顾了this question,但似乎并不是多个Ruby库适用于我,因为
which -a ruby
只产生一个位置:
/usr/bin/ruby
此外,this question似乎没有帮助,因为我没有。当我尝试输入
时 rvm use 1.9.3
我收到此消息:
-bash: rvm: command not found
这是我第一次看到Linux环境,所以任何帮助都会受到赞赏。谢谢!
答案 0 :(得分:1)
我遇到了同样的错误信息。从我的EC2实例中,我注意到我的ruby版本是1.8(ruby -v)。我重新启动了EC2实例,这导致Elastic Beanstalk启动新的EC2实例并终止旧的实例。新实例运行1.9.3,我被解锁了。我讨厌神奇的解决方案,但随着旧实例的终止,我无法再进行分类了。希望这会有所帮助。
答案 1 :(得分:0)
-bash: rvm: command not found
这清楚地表明你的机器上没有安装rvm,或者你没有安装正确的路径。
有时宝石版本指向错误的版本。
这件事发生在我身上---- [/ p>
否认! sudo bundle install
正在捆绑2.3.8
而不是3.0.0.beta3
。通过在我的Gemfile中指定版本来修复它。
为确保编译顺利进行,请在终端会话中向后滚动并查看应安装的必备软件包列表(最好剪切并粘贴大量名称以避免输入错误)。
sudo apt-get install build-essential openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev autoconf libc6-dev libncurses5-dev automake libtool bison subversion
现在您可以使用rvm来下载,编译和安装Ruby。
1 rvm install 1.9.3
2 rvm use 1.9.3 --default
猜猜这更像是与RVM相关的问题以及与osx的系统ruby有些奇怪的联系? (我在用户级别安装了RVM)
答案 2 :(得分:0)
我使用过gem install bundler
。
然后运行rvm install
正常