rbenv - помогает понять синтаксис .ruby-версии "x.x.x" против "ruby-x.x.x@project-name" - PullRequest
0 голосов
/ 05 июля 2018

Когда я создаю проект и устанавливаю свой rbenv local 2.2.2, он создаст файл .ruby-version с 2.2.2 в нем. Иногда, когда я работаю над существующим проектом, созданным кем-то другим, файл .ruby-version будет выглядеть примерно так: ruby-2.3.4@projectname. Если я попытаюсь rbenv install, этого, очевидно, не существует. Если я просто устанавливаю версию, то есть rbenv install 2.3.4, она устанавливается, но когда я устанавливаю rbenv local 2.3.4, она меняет .ruby-version на 2.3.4, а не ruby-2.3.4@projectname.

Помимо легкого недовольства мерзавцем наличия там этого измененного файла. Что вызывает это? Я что-то не так делаю?

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Обозначение типа ruby-2.3.4@projectname от RVM. Там написано, что вы используете ruby version 2.3.4 и локальный набор projectname. Он предоставляет возможность создавать наборы драгоценных камней с необходимыми версиями относительно каждого проекта.

Также просто ruby-2.3.4 означает, что используется глобальный гемсет, его можно записать как ruby-2.3.4@global.

0 голосов
/ 05 июля 2018

Иногда, когда я работаю над существующим проектом кто-то еще создал, файл .ruby-version будет выглядеть примерно так: ruby-2.3.4@projectname

Кто-то еще не использовал rbenv. Вероятно, они использовали rvm. Из документов:

Когда в RVM, .ruby-version также поддерживает наборы гемов в форме ruby@gemset, но это не совместимо с другими менеджерами версий Ruby. Другой файл может использоваться для указания набора гемов без нарушения совместимости - .ruby-gemset

Для совместимости лучше всего хранить номер версии в этом файле. Так что нет, вы не делаете ничего плохого.

Кроме того, вы также можете указать версию ruby ​​непосредственно в Gemfile с помощью:

ruby '2.3.4'
...