每当我运行 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/