【问题标题】:Beginning Ruby on Rails in Linux Mint在 Linux Mint 中开始使用 Ruby on Rails
【发布时间】:2015-07-21 23:32:04
【问题描述】:

这对你们中的许多人来说可能听起来很基础。我刚刚在 Linux 中开始了 Ruby on Rails 教程。我对 Linux 操作系统很陌生。我已经安装了一个rvm。但我无法安装 Rails。它说“无法加载此类文件--zlib”。我可以看到 Ruby 的两个源文件。不确定我是否安装了两个 Ruby。

【问题讨论】:

  • 是在 web 上打印 hello world 的 rails 项目还是仅打印 hello world 的 ruby​​ 代码?
  • 是的.. hello world on web
  • 只需打开终端(ALT+CTRL+T) 将目录更改为您的项目cd path/to/project,然后执行rails s
  • raj@raj-Inspiron-N5010 ~/Desktop/ruby $ rails s /usr/local/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require': cannot load such file -- rails/cli (LoadError) from /usr/local/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from /usr/bin/rails:9:in `
    ' 得到这个错误

标签: ruby-on-rails ruby linux sublimetext2


【解决方案1】:

请注意您选择了正确的构建系统:

"Tools -> Build System -> Ruby"

然后按CTRL+B。 这应该可以。

【讨论】:

  • 谢谢.. 我这样做并运行了文件.. 但给出了错误 /home/raj/Desktop/ruby/rails.rb:1:in <main>': undefined local variable or method helloworld' for main:Object ( NameError) [在 0.1 秒内完成,退出代码为 1] [shell_cmd: ruby​​ "/home/raj/Desktop/ruby/rails.rb"] [dir: /home/raj/Desktop/ruby] [path: /usr/local /sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/raj/.rvm/bin] 我做必须小心我的文件的位置?
【解决方案2】:

你可以使用ctrl + b在sublime中执行.rb文件。

【讨论】:

  • rails new hello 给我一个错误.. /home/raj/Desktop/ruby/rails.rb:1:in <main>': undefined local variable or method helloworld' for main:Object (NameError) [完成于 0.1 s 退出代码 1] [shell_cmd: ruby​​ "/home/raj/Desktop/ruby/rails.rb"] [dir: /home/raj/Desktop/ruby] [path: /usr/local/sbin:/usr/ local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/raj/.rvm/bin] 我必须小心在哪里我创建我的文件?
  • 请出示您的代码好吗?或者您可以针对此错误提出新问题。
  • rails new helloworld 命令用于创建具有helloworld 名称的新rails 应用程序,您应该在命令提示符或终端中执行此操作。请浏览 Rails 的官方网站,了解如何创建新的基本 Rails 应用程序并继续前进。 guides.rubyonrails.org/getting_started.html
  • 好像没有正确安装rails。我无法使用 gem install rails 安装.. 给出以下错误错误:加载命令:安装(LoadError)无法加载此类文件 - zlib 错误:执行 gem ...(NoMethodError)未定义方法“invoke_with_build_args”为零:无类
【解决方案3】:

您似乎对 Ruby on Rails 的工作方式有些困惑。 Sumblime 可以运行您的 ruby​​ 代码,但不能在 Rails 堆栈上运行。 我的建议是始终使用 Rails 应用程序目录上的打开终端。 假设您创建了一个新的 Rails 项目,为

rails new helloWorld

rails 生成器将创建一个子文件夹 helloWorld。这将是您在终端中的工作目录。 所以你必须这样做:

cd helloWorld

然后

rails s

默认情况下,它将在 localhost:3000 上的嵌入式服务器上运行您的 Rails 应用程序。

【讨论】:

  • 好像没有正确安装rails。当我摩擦 rails --version 时,我收到以下错误.. 我无法使用 gem install rails.. /usr/local/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require ': 无法加载这样的文件 -- rails/cli (LoadError)
  • gem install rails 给出错误错误:加载命令:安装(LoadError)无法加载此类文件--zlib 错误:执行 gem 时 ...(NoMethodError)未定义方法 `invoke_with_build_args' for nil:NilClass
【解决方案4】:

你是用什么方法安装ruby的?

如果你是从源代码编译的,你可能需要这样做

   sudo apt-get install libssl-dev

然后重新编译ruby

否则,您可能没有最新版本的 Rubygems

尝试: 去https://github.com/rubygems/rubygems/releases/tag/v2.2.3

下载 ruby​​gems-update-2.2.3.gem

调用文件所在的目录,然后

   gem install rubygems-update-2.2.3.gem

   update_rubygems --no-ri --no-rdoc

   rubygems --version #Should show 2.2.3

   gem install rails

【讨论】:

  • 本方案前半部分来自stackoverflow.com/questions/26947586/…
  • 另外,this video 会引导您在 linux 上安装 rails
  • 我认为问题是我有两个红宝石位置。我使用了从源代码和 rvm 下载的文件。 /usr/local/bin/ruby & /usr/bin/ruby 我如何卸载一个? linux中有没有通用的卸载命令?
  • 根据this answer 判断(如果您想要的话,它还将解释如何卸载)这些目录可能是同一安装的一部分。你试过 sudo apt-get install libssl-dev 吗?接着重新编译
  • 如果您选择卸载,您可能只想在下次尝试时关注我链接的视频
猜你喜欢
  • 2013-12-03
  • 1970-01-01
  • 2015-10-15
  • 2012-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-26
  • 2016-10-05
相关资源
最近更新 更多