Ошибка sudo: gem: команда не найдена
19579 просмотра
4 ответа
Я пытаюсь установить rubyrep на CentOS, и при выполнении sudo gem install rubyrep
я получаю сообщение об ошибке sudo: gem: command not found
. Sudo и gem установлены и работают, но не в сочетании.
Моя настройка:
[rubyrep]# which sudo
/usr/bin/sudo
[rubyrep]# which gem
/usr/local/rvm/rubies/ruby-2.1.2/bin/gem
[rubyrep]# which ruby
/usr/local/rvm/rubies/ruby-2.1.2/bin/ruby
[rubyrep]# $PATH
-bash: /usr/local/rvm/gems/ruby-2.1.2/bin:/usr/local/rvm/gems/ruby-2.1.2@global/bin:/usr/local/rvm/rubies/ruby-2.1.2/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin: No such file or directory
Автор: Kate
Источник
Размещён: 13.11.2019 11:34
Ответы (4)
19 плюса
Попробуй без sudo
. Вы должны использовать только sudo
если вы сделали корневую установку ruby, что не рекомендуется.
6 плюса
С http://web.archive.org/web/20130405074724/http://www.kleinfelter.com/node/188 :
В сети есть сотни сообщений о "sudo: gem: команда не найдена". Из дюжины или около того, на что я смотрел, предлагаемое решение составило «убедиться, что« драгоценный камень »находится в вашем PATH».
Ага. Это на моем пути. То есть следующие работы:
драгоценный камень - помощь
но следующее терпит неудачу:
судо драгоценный камень - помощь
Еще более запутанная вещь, драгоценный камень находится на пути, показанном:
sudo echo $ PATH
Хитрость в том, что sudo не использует $ PATH для своего пути в некоторых выпусках Linux. Такое поведение считается «более безопасным». (Видите, что sudo изменяет PATH - почему? ).
Ба! Это все еще боль, чтобы обойти. Вы должны включить 'gem' в путь (а не просто $ PATH!). Вы прочтете об опциях, которые вы можете передать sudo, и это прекрасно, когда вы сами набираете командную строку. Когда чей-то скрипт вызывает sudo для вас, вы застреваете в командной строке, которую он использует.
Я исправил это, выполнив:
alias sudo='sudo env PATH=$PATH'
как предложено в sudo изменяет PATH - почему? ,
Автор: user4975679 Размещён: 04.05.2017 12:531 плюс
Если кто-то сталкивается с этим, как я, и без sudo не вариант. Возможно, вы захотите проверить свои sudoers на «secure_path».
Если это не включает путь вашей установки / драгоценный камень / рубин (какой драгоценный камень). Тогда вы также получите эту ошибку.
Fedora 23, построена из исходного кода.
Автор: Dishcandanty Размещён: 05.04.2016 05:381 плюс
Вопросы из категории :
- ruby Вызов команд оболочки из Ruby
- ruby Почему в Ruby нет реального StringBuffer или StringIO?
- ruby Как создать случайный 10-значный номер в рубине?
- ruby Каков наилучший способ конвертировать массив в хеш в Ruby
- ruby Determine file type in Ruby
- linux Как отправить файл в виде вложения электронной почты с помощью командной строки Linux?
- linux Как разделить два 64-битных числа в ядре Linux?
- linux Изучение файлов Беркли БД из CLI
- linux Как передать пароль на scp?
- linux Как показать все общие библиотеки, используемые исполняемыми файлами в Linux?
- gem Почему я не могу установить гем SQLite?
- gem Упаковка предварительно скомпилированных двоичных файлов внутри драгоценного камня
- gem Как перечислить драгоценные камни, необходимые приложению Rails
- gem gem install не может найти файл заголовка
- gem Как преобразовать имена цветов html в значения RGB в Ruby?
- sudo Как использовать sudo для перенаправления вывода в местоположение, в которое у меня нет разрешения на запись?
- sudo sudo echo "что-то" >> / etc / privilegedFile не работает
- sudo Как мне отредактировать / etc / sudoers из скрипта?
- sudo запуск команды как суперпользователь из скрипта Python
- sudo sudo в php exec ()