【问题标题】:Ruby on Rails and Ubuntu: typing just "script/generate ..." instead of "ruby script/generate"Ruby on Rails 和 Ubuntu:只输入“script/generate ...”而不是“ruby script/generate”
【发布时间】:2011-09-03 15:45:44
【问题描述】:

我使用的是 Ubuntu 10.04。在终端中,当我转到我的应用程序并输入(不使用前面的“ruby”)时:

script/generate controller recipes

我收到“权限被拒绝”错误。但是,当我使用它时:

ruby script/generate controller recipes

一切都按预期进行。当我尝试生成控制器时(即只使用“脚本/生成控制器配方”应该可以工作),我必须对 Ubuntu 做些什么来使前置的“ruby”变得不必要?

【问题讨论】:

  • 奇怪?运行“ls -l script/”时权限是什么样的
  • 谢谢房子!这是一个执行问题。感谢大家的大力帮助:)

标签: ruby-on-rails ruby ubuntu


【解决方案1】:

chmod 755 script/generate

【讨论】:

  • 澄清为什么会这样:当您尝试执行脚本/生成时,权限被拒绝,因为用户没有对文件设置执行权限。运行chmod 755 script/generate 启用用户对文件的执行权限。在ruby script/generate ... 的情况下,只需要读取权限,因为文件正在被解析,而不是被执行。
  • 知道为什么会出现问题吗?我只能猜测 sjsc 从本地版本的 gem 或 U 盘安装了 rails
【解决方案2】:

键入

ls -la

在脚本文件夹中查看生成脚本的权限。

它可能没有执行权限(x)。

我建议重新安装导轨。

【讨论】:

    【解决方案3】:

    哇,好奇怪,

    恭喜您切换到 linux。

    你是如何安装 Ruby 的?你是从突触包管理器做的吗?你有没有运行 sudo aptitude install ruby​​ 或类似的东西?

    无论你做了什么,最好安装 RubyVersionManager (RVM) - 这真的很简单 - 这里有一个关于它如何工作的 railscast:http://railscasts.com/episodes/200-rails-3-beta-and-rvm

    我从来没有听说过你遇到的问题

    【讨论】:

    • 感谢斯蒂芬的提示!我可能错过了一些步骤。非常感谢。
    • 没问题,看起来其他答案解释了它发生的原因,即缺少对脚本命令的权限。希望您在安装 RVM 时不会遇到太多麻烦,如果您决定采用这种方式 - 我发现它让我的工作效率更高,许多其他 *nix ruby​​ 开发人员也是如此。我认为 Windows 上有类似的东西叫做 Pik。但是现在你在 Ubuntu 上就不需要了。祝你好运
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    • 2015-01-08
    • 2013-07-08
    相关资源
    最近更新 更多