Ошибка "неверный интерпретатор: отказано в доступе" при попытке выполнить команды rails - PullRequest
0 голосов
/ 14 сентября 2011

Я использую ubunutu natty narwhal. Я установил ruby, rails, rvm и т. Д. Некоторое время назад, и все работало мирно. Недавно я попытался выполнить «rails -v» в командной строке, я получил эту досадную ошибку.

    roger@roger-Inspiron-1545:~$ rails -v
    bash: /home/roger/.rvm/gems/ruby-1.9.2-p180/bin/rails: /home/roger/.rvm/rubies/ruby-  1.9.2-p180/bin/ruby:
    bad interpreter: Permission denied

Я также получаю эту ошибку для других команд rails, которые я выполняю Может кто-нибудь сообщить мне, в чем проблема и как я могу это исправить.

Обновление: Whereis ruby дает мне это

roger@roger-Inspiron-1545:~$ whereis ruby 
ruby: /usr/bin/ruby /usr/bin/ruby1.8 /usr/lib/ruby /usr/share/man/man1/ruby.1.gz

Спасибо

1 Ответ

2 голосов
/ 14 сентября 2011

пробег:

ls -l /home/roger/.rvm/rubies/ruby-1.9.2-p180/bin/ruby

Первые несколько символов записи должны быть "-rwx", и вы должны увидеть свое имя пользователя в качестве владельца. Если вы не видите по крайней мере «r» и «x», запустите

chmod 755 /home/roger/.rvm/rubies/ruby-1.9.2-p180/bin/ruby

чтобы владелец мог прочитать / написать / выполнить, а все остальные - прочитать / выполнить.

Если вы не владелец, вам нужно сделать «sudo chown», чтобы исправить это.

Я подозреваю, что есть большая проблема, лежащая в основе. Если у вас установлены другие версии ruby, переключитесь на них в rvm, наберите «which ruby» и запустите на них также «ls -l».

Вы недавно делали восстановление из резервной копии? Возможно, разрешения не были правильно восстановлены. Или вы запустили какой-то скрипт, который мог быть слишком агрессивным при смене владельца или прав доступа? Или, может быть, вы случайно сделали chmod или chown?

...