2014-04-25 17 views
13

Tôi nhận được lỗi này bất cứ khi nào tôi chạy rails (hoặc bất kỳ đường ray lệnh) _rails_command:2: permission denied: bin/rails CHỈ khi tôi bên trong một số ray thư mục ứng dụng .Weird ray lỗi "cho phép từ chối: bin/đường ray" cho đường ray cũ apps

Trong các thư mục này bundle exec rails c lệnh hoạt động nhưng rails hoặc thậm chí rails -v không hoạt động.

Bối cảnh: Tôi giữ không gian làm việc mã hóa của mình trong thư mục dropbox. Bây giờ tôi mới cài đặt Manjaro và do đó tất cả các ứng dụng đường ray mà tôi đã tải xuống từ hệ điều hành trước của mình, tôi gọi chúng là ứng dụng đường ray cũ.

Tóm tắt: Đường ray hoạt động tốt ở mọi nơi ngoại trừ ứng dụng đường ray cũ. bundle exec rails c hoạt động tốt. phiên bản Ruby mà tôi đã cố gắng: 2.0.0 (rvm), 2.1.1(rvm), 2.1.1 (system)

Gem Môi trường: RubyGems Environment: - RUBYGEMS VERSION: 2.2.2 - RUBY VERSION: 2.0.0 (2014-02-24 patchlevel 451) [x86_64-linux] - INSTALLATION DIRECTORY: /home/tat/.rvm/gems/[email protected] - RUBY EXECUTABLE: /home/tat/.rvm/rubies/ruby-2.0.0-p451/bin/ruby - EXECUTABLE DIRECTORY: /home/tat/.rvm/gems/[email protected]/bin - SPEC CACHE DIRECTORY: /home/tat/.gem/specs - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /home/tat/.rvm/gems/[email protected] - /home/tat/.rvm/gems/[email protected] - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - https://rubygems.org/ - SHELL PATH: - /home/tat/.rvm/gems/[email protected]/bin - /home/tat/.rvm/gems/[email protected]/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/.rvm/bin

CẬP NHẬT: của nó làm việc tốt trong bash, vấn đề dường như với oh-my-zsh.

Đây là tôi RVM-info (từ zsh):

[email protected]: 

    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 <[email protected]>, Michal Papis <[email protected]> [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/[email protected]" 
    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/[email protected]/bin/rake" 

    environment: 
    PATH:   "/home/tat/.rvm/gems/[email protected]/bin:/home/tat/.rvm/gems/[email protected]/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/[email protected]" 
    GEM_PATH:  "/home/tat/.rvm/gems/[email protected]:/home/tat/.rvm/gems/[email protected]" 
    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" 

Trả lời

28

Trong thư mục mà bạn đề cập là đường ray của bạn trong chế độ thực thi. Nếu không, bạn có thể áp dụng

chmod u+x bin/rails 

và làm cho tệp thực thi.

+0

yep hoạt động :). Nhưng khi tôi sử dụng bash nó hoạt động bất kể chmod'ing. – ArrC

0

Tôi gặp vấn đề tương tự và dưới đây là những gì đã giúp tôi. mở ~/zshrc và thêm này

export PATH="$HOME/.rbenv/bin:$PATH" 
eval "$(rbenv init -)" 
4

Run

bundle exec rake rails:update:bin 

Nó sẽ cập nhật bin/đường ray và các tập tin bin/cào.

0

Tôi có điều này khi tôi cố gắng sử dụng phiên bản 4.0 đường ray. Vì vậy, khi tôi cố gắng đưa bundle exec đầu tiên, như:

bundle exec rake db:migrate 

hoặc

bundle exec rails s 

của công việc.

Các vấn đề liên quan