'sudo gem install' или 'gem install' и расположение драгоценных камней

Запуск «sudo gem list --local» и «gem list --local» дает мне разные результаты. Мой путь к драгоценным камням установлен в мою домашнюю папку и содержит только драгоценные камни из 'gem list --local'.

Вероятно, нехорошо устанавливать гемы в разных каталогах на моем компьютере, поэтому я должен установить путь к гемам по-разному, и я всегда должен использовать sudo при установке чего-либо?

my ~/.profile
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"

~ /.bash_profile пуст.

134
задан the Tin Man 31 July 2014 в 18:52
поделиться

1 ответ

В отличие от всех других постов, я предлагаю НЕ использовать sudo при установке драгоценных камней.

Вместо этого я рекомендую установить RVM и начать счастливую жизнь с портативными домиками с драгоценными камнями и разными версиями Ruby, живущими под одной крышей.

Для непосвященных, из документации :

RVM является инструментом командной строки, которая позволяет нам легко устанавливать, управлять и работать с несколькими рубиновых средах и наборы драгоценных камней.

Причина, по которой установка драгоценных камней с sudo хуже, чем просто gem install, заключается в том, что он устанавливает драгоценные камни для ALL USERS в качестве root. Это может быть нормально, если вы единственный человек, использующий эту машину, но если вы не используете ее, это может вызвать странности.

Если вы решили, что хотите сдуть все свои драгоценные камни и начать все сначала, то это гораздо проще и безопаснее сделать как не корневой пользователь.

Если вы решите использовать RVM, то использование sudo вызовет всевозможные странности, потому что каждая версия Ruby, которую вы устанавливаете через RVM, имеет свой собственный GEM_HOME.

Кроме того, приятно, если вы можете сделать ваше окружение разработки как можно ближе к производственному окружению, а на производстве вы, скорее всего, установите драгоценные камни, как не корневой пользователь.

141
ответ дан 23 November 2019 в 23:54
поделиться