Rails“没有这样的文件加载 - ruby​​gems(LoadError)”

时间:2013-02-15 08:16:29

标签: ruby-on-rails linux amazon-web-services amazon-ec2

我刚刚从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环境,所以任何帮助都会受到赞赏。谢谢!

3 个答案:

答案 0 :(得分:1)

我遇到了同样的错误信息。从我的EC2实例中,我注意到我的ruby版本是1.8(ruby -v)。我重新启动了EC2实例,这导致Elastic Beanstalk启动新的EC2实例并终止旧的实例。新实例运行1.9.3,我被解锁了。我讨厌神奇的解决方案,但随着旧实例的终止,我无法再进行分类了。希望这会有所帮助。

答案 1 :(得分:0)

-bash: rvm: command not found

这清楚地表明你的机器上没有安装rvm,或者你没有安装正确的路径。

Check path

有时宝石版本指向错误的版本。

这件事发生在我身上---- [/ 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正常