【问题标题】:Ubuntu 10 Ruby 1.9 Rails 3: No such file or directoryUbuntu 10 Ruby 1.9 Rails 3:没有这样的文件或目录
【发布时间】:2012-03-05 08:33:50
【问题描述】:

我已经为此苦苦挣扎了一段时间。我在开发机器上运行 Ubuntu 10,它上面有 ruby​​ 1.8,我删除了。我使用 RVM 和本教程 http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/

安装了 Ruby 1.9.3 和 rails3

当我输入 ruby -v 我得到

ruby 1.9.3p125 (2012-02-16 revision 34643) [i686-linux]

这似乎是正确的。

我使用

创建了一个新的测试应用
rails new mysite

成功创建了新应用。 然后我

cd mysite

并创建了一个 gemset

rvm gemset create 'rails3'

然后我在 /mysite/ 文件夹中使用了它

rvm use 1.9.3@rails3 --rvmr
Using /usr/local/rvm/gems/ruby-1.9.3-p125 with gemset rails3

但是当我尝试运行它时出现问题

root@server-pc:/var/www/mysite# rails s
-bash: /usr/bin/rails: /usr/bin/ruby1.8: bad interpreter: No such file or directory

编辑1:

root@server-pc:/var/www/mysite# which ruby
/usr/local/rvm/rubies/ruby-1.9.3-p125/bin/ruby

【问题讨论】:

  • 你确定你正在运行你用 RVM 安装的 ruby​​ 吗?您是否在用户文件夹中安装了 rvm? (您不应该将它安装在根目录中)。检查你的红宝石安装在哪里(哪个红宝石)应该是这样的地方:“/home/user/”your user”/.rvm/...”
  • 那么我应该怎么做呢,卸载 rvm 并以非 root 用户身份安装?
  • 这就是我所做的,据我所知任何其他 ruby​​ 开发人员。只需在此处使用步骤:rvm.beginrescueend.com 此外,如果您确实在 root 上安装了 ruby​​,请确保您不再安装那里。最后别忘了每次都使用命令“rvm use 1.9.3”。
  • @AyJay 好的,我试试看,几分钟后通知您
  • 好的,我重新安装了 rvm 和 ruby​​ 1.9 和 rails,但是当我输入 rails new mysite2 时它显示相同的错误 --> server@server-pc:/var/www$ rails new mysite2 -bash: /usr/bin/rails: /usr/bin/ruby1.8: bad interpreter: No such file or directory

标签: ruby-on-rails ruby ruby-on-rails-3 ubuntu rvm


【解决方案1】:

root 用户身份登录


移除旧红宝石

列出红宝石包

dpkg -l | grep ruby

然后删除所有 ruby​​ 包

aptitude purge <package name>

如果你安装了 rvm

rvm remove all

然后

rvm implode

rvmsudo rvm implode

安装红宝石

仍以 root

身份登录

安装所有必要的工具和库

apt-get install curl git-core build-essential zlib1g-dev libssl-dev libreadline5-dev

安装 rvm

bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

然后在你的 .bashrc 中添加这一行作为最后一行

nano ~/.bash_profile

if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then source "$HOME/.rvm/scripts/rvm" ; fi

测试 RVM 安装

rvm notes

接下来,您可以通过运行开始安装 ruby​​ 1.9.2

rvm install 1.9.2

安装将需要几分钟,一旦完成,您必须将 ruby​​ 1.9.2 设置为默认版本

rvm --default ruby-1.9.2

测试你的新 ruby​​ 安装 ruby -v

安装 Rails 3

gem install rails

如果您想使用 sqlite 快速启动并运行数据库,那么您需要 sqlite3 和 libsqlite3-dev 软件包

apt-get install sqlite3 libsqlite3-dev

gem install sqlite3-ruby

创建新应用

rails new testapp

cd testapp

确保您在测试应用目录中并运行

rails s

在以下位置打开您的浏览器 http://localhost:3000

【讨论】:

  • 在测试 rvm notes 时,我必须查看系统将 rvm 拉入 (/usr/local/rvm) 的位置,然后从那里获取 /scripts/rvm 以获取 notes 命令工作。
【解决方案2】:

好吧,我相信这条线:

-bash: /usr/bin/rails: /usr/bin/ruby1.8

意味着您已经有一个使用 ruby​​1.8 解释器的 /usr/bin/rails 二进制文件。试着把它移到某个地方:

mv /usr/bin/rails /usr/bin/rails-1.8

然后转到您的项目目录,然后bundle install

如果您已经捆绑了 rails,请尝试重新安装 gems。

【讨论】:

  • server@server-pc:/usr/bin$ cd rails -bash: cd: rails: Not a directory
  • 它不是一个目录,它只是一个脚本。它正在使用你不存在的旧解释器。所以只需删除它:sudo rm /usr/bin/rails
  • Your bundle is complete! Use bundle show [gemname]` 查看捆绑 gem 的安装位置。` --> rails s -bash: /usr/bin/rails: No such file or directory
  • 尝试:rvm gemset 使用@yourgemset,然后使用which rails,它应该会显示类似:/home/vlad/.rvm/gems/ruby-1.9.3-p125-falcon@proj/垃圾箱/导轨
猜你喜欢
  • 2021-07-15
  • 1970-01-01
  • 2016-01-05
  • 2018-01-28
  • 1970-01-01
  • 2021-12-29
  • 1970-01-01
  • 2012-11-03
相关资源
最近更新 更多