【问题标题】:Rails 4: Rakefile and Gemfile not found as Root UserRails 4:未找到 Rakefile 和 Gemfile 作为 Root 用户
【发布时间】:2016-01-12 09:44:23
【问题描述】:

我正在尝试以 root 身份运行命令:su - <username> -c RAILS_ENV=production rake assets:precompile,即使 ruby​​、rvm 和所有 gem 都是作为另一个用户安装的。那是因为,我无法访问可以使用该用户名登录服务器的计算机。

所以当我运行上面的命令时,我得到以下错误:

rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)

执行上述命令时,我在 rails app 目录下。 ls 给我:

Gemfile       README.rdoc  app  config     db   log  public  test  vendor
Gemfile.lock  Rakefile     bin  config.ru  lib  migrate  solr    tmp

同样,如果我这样做:su - <username> -c "bundle",我会得到错误:Could not locate Gemfile

我已经阅读了关于 SO 的帖子,例如 Link #1Link #2Link #3Link #4,但没有一个能够解决问题。

如果有人知道解决此问题的方法并且可以给我一个答案,那将是一个巨大的解脱。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 debian


    【解决方案1】:

    由于您以另一个用户身份安装了 rvm,因此您所有的 gem 等都将被放置在该用户的主目录中,您正在使用的 ruby​​ 的实际版本也是如此。为了让一切都以 root 身份运行,您需要在系统范围内重新安装 rvm 并以这种方式进行设置,或者您可以尝试让 RVM 以 root 身份运行。

    当您安装 rvm 时,它会在用户的 ~/.bash_profile 中添加以下行,因此您可以尝试将其添加到 root 的:

    [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

    在这里,您需要将$HOME 替换为/home/username,其中username 是安装了rvm 的用户。否则,它将默认为当前登录用户的主目录,即/root

    另一个想法,您说您无法访问可以以该用户身份登录的计算机。但是,如果您可以以 root 身份登录,则可以更改系统中的任何内容。假设这是一个 ssh 密钥问题,为什么不将您当前计算机的 ~/.ssh/id_rsa.pub 作为 root 添加到用户的 ~/.ssh/authorized_keys,然后按照您最初的意图以该用户身份登录并执行命令?

    【讨论】:

    • 嗨@take,感谢您如此迅速地回答我的问题。在对这个问题感到沮丧一段时间后,我不得不从电脑上站起来,当我回来时,看到您的回复令人惊喜。我将您提到的行添加到根的 .bash_profile 中(并替换了所需的用户名),但该命令仍然给出了相同的 Rakefile 未找到错误。我将尝试您建议的另一个想法。只是想问一下,当我将我当前的计算机 id_rsa.pub 添加到丢失用户的 .ssh/authorized_keys 时,我是否删除了前一个用户条目的行?
    • 嗨@take,你添加我当前用户的 ~/.ssh/id_rsa.pub 的想法奏效了。那是多么的棒。非常感谢。
    • 没问题,很高兴能帮上忙!您当然可以删除旧计算机的公钥,尤其是当您担心其他人访问系统时。
    • 哦,是的,这又是您的另一个好建议。谢了哥们。会这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多