ruby-on-rails - 旧 Rails 应用程序出现奇怪的 Rails 错误 "permission denied: bin/rails"

标签 ruby-on-rails ruby ruby-on-rails-3 rvm oh-my-zsh

每当我运行 rails(或任何 rails 命令)时,我都会收到此错误 _rails_command:2: 权限被拒绝:bin/rails 仅当我在一些旧的 rails 应用程序目录中时。

在这些目录中,bundle exec rails c 命令有效,但 rails 甚至 rails -v 无效。

背景: 我将我的编码工作区保存在保管箱文件夹中。 现在我最近安装了 Manjaro,因此我从以前的操作系统下载的所有 Rails 应用程序我称之为 Rails 应用程序。

简而言之: 除了旧的 Rails 应用程序外,Rails 在任何地方都可以正常工作。 bundle exec rails c 工作正常。 我试过的 Ruby 版本: 2.0.0(rvm),2.1.1(rvm),2.1.1(系统)

gem 环境: RubyGems 环境: - RUBYGEMS 版本:2.2.2 - RUBY 版本:2.0.0(2014-02-24 补丁级别 451)[x86_64-linux] - 安装目录:/home/tat/.rvm/gems/ruby-2.0.0-p451@latest - ruby 可执行文件:/home/tat/.rvm/rubies/ruby-2.0.0-p451/bin/ruby - 可执行目录:/home/tat/.rvm/gems/ruby-2.0.0-p451@latest/bin - 规范缓存目录:/home/tat/.gem/specs - RUBYGEMS 平台: - ruby - x86_64-linux - gem 路径: -/home/tat/.rvm/gems/ruby-2.0.0-p451@latest -/home/tat/.rvm/gems/ruby-2.0.0-p451@global - gem 配置: - :update_sources => 真 - :verbose => true - :回溯=>假 - :bulk_threshold => 1000 - 远程资源: - https://rubygems.org/ - 外壳路径: -/home/tat/.rvm/gems/ruby-2.0.0-p451@latest/bin -/home/tat/.rvm/gems/ruby-2.0.0-p451@global/bin -/home/tat/.rvm/rubies/ruby-2.0.0-p451/bin -/home/tat/bin -/usr/本地/bin -/usr/本地/sbin -/usr/本地/bin -/usr/bin -/usr/bin/core_perl -/home/tat/.rvm/bin

更新: 它在 bash 中工作正常,问题似乎出在 oh-my-zsh 上。

这是我的 rvm-info(来自 zsh):

ruby-2.0.0-p451@latest:

  system:
    uname:       "Linux tat-box 3.10.37-1-MANJARO #1 SMP Mon Apr 14 20:56:29 UTC 2014 x86_64 GNU/Linux"
    system:      "manjaro/0.8.9/x86_64"
    bash:        "/usr/bin/bash => GNU bash, version 4.3.8(1)-release (x86_64-unknown-linux-gnu)"
    zsh:         "/usr/bin/zsh => zsh 5.0.5 (x86_64-unknown-linux-gnu)"

  rvm:
    version:      "rvm 1.25.23 (master) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]"
    updated:      "21 hours 33 minutes 15 seconds ago"
    path:         "/home/tat/.rvm"

  ruby:
    interpreter:  "ruby"
    version:      "2.0.0p451"
    date:         "2014-02-24"
    platform:     "x86_64-linux"
    patchlevel:   "2014-02-24 revision 45167"
    full_version: "ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-linux]"

  homes:
    gem:          "/home/tat/.rvm/gems/ruby-2.0.0-p451@latest"
    ruby:         "/home/tat/.rvm/rubies/ruby-2.0.0-p451"

  binaries:
    ruby:         "/home/tat/.rvm/rubies/ruby-2.0.0-p451/bin/ruby"
    irb:          "/home/tat/.rvm/rubies/ruby-2.0.0-p451/bin/irb"
    gem:          "/home/tat/.rvm/rubies/ruby-2.0.0-p451/bin/gem"
    rake:         "/home/tat/.rvm/gems/ruby-2.0.0-p451@latest/bin/rake"

  environment:
    PATH:         "/home/tat/.rvm/gems/ruby-2.0.0-p451@latest/bin:/home/tat/.rvm/gems/ruby-2.0.0-p451@global/bin:/home/tat/.rvm/rubies/ruby-2.0.0-p451/bin:/home/tat/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/core_perl:/home/tat/.gem/ruby/2.1.0/bin:/home/tat/.rvm/bin"
    GEM_HOME:     "/home/tat/.rvm/gems/ruby-2.0.0-p451@latest"
    GEM_PATH:     "/home/tat/.rvm/gems/ruby-2.0.0-p451@latest:/home/tat/.rvm/gems/ruby-2.0.0-p451@global"
    MY_RUBY_HOME: "/home/tat/.rvm/rubies/ruby-2.0.0-p451"
    IRBRC:        "/home/tat/.rvm/rubies/ruby-2.0.0-p451/.irbrc"
    RUBYOPT:      ""
    gemset:       "latest"

最佳答案

在您提到的目录中是处于可执行模式的 Rails。如果没有你可以申请

chmod u+x bin/rails

并使其可执行。

关于ruby-on-rails - 旧 Rails 应用程序出现奇怪的 Rails 错误 "permission denied: bin/rails",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23297832/

相关文章:

ruby-on-rails - 如何在 cucumber 中 stub 方法?

html - Rails 3.0.3 入门指南代码不显示 Tag 字段的 field_with_errors div(第一篇文章)

ruby - 如何反转 'rails generate'

arrays - 如何将数组拆分为 n 个相等或接近相等的数组?

ruby-on-rails - 我应该在 rspec 中使用什么类型的 "assert"来验证先决条件是否正常?

mysql - 如何在两个提交标签上提及表单中的不同操作?

ruby-on-rails - 为什么 "assert_response"忽略 Rails 中的自定义消息?

ruby-on-rails - row_number() 带有未指定的窗口 `row_number() OVER ()`

ruby-on-rails - 雪豹+ cucumber /webrat/rspec

ruby-on-rails - ENV 变量仅在生产控制台中可用,而不在应用程序中可用 - Rails、Figaro Gem