Как настроить Ruby для использования корректного gemset или версии Ruby на основе на проект?

вот список команд, которые соответствуют критериям, dpkg только работает на базирующиеся системы debian все же. В Mac/FreeBSD я не уверен, что было бы лучшим методом, но это должно быть хорошим началом. Ни один из них не должен быть установлен в новой установке человечности.

Это дает Вам полный список установленных пакетов и там версии с кратким описанием.

dpkg -l >> pkg.info

lshw в человечности имеет опцию исключить уязвимую информацию

lshw -sanitize

Это просто показывает информацию о версии о человечности

lsb_release -a

Информация о памяти

free

Моя рекомендация состоит в том, чтобы сделать сценарий, который сохраняет всю эту информацию в отдельные .info файлы, затем размещает их в файл tar для легкого набора. после "dpkg-l" можно поместить шаблон для соответствия определенным пакетам, для которых Вы хотите информацию. "dpkg-p" показывает Вам очень подробную информацию об определенном пакете как "dpkg-p удар"

7
05.09.2014, 20:45
3 ответа

Если вы используете RVM, просто поместите файл с именем .rvmrc в каталог вашего проекта со следующим содержанием:

rvm use ruby 1.9.x@gemset

Для вашего второго проекта это то же самое, просто измените вызов rvm .

10
27.01.2020, 20:14

Псевдонимы могут быть вам полезны. Вы можете создать псевдоним для каждого конкретного каталога и команды, которую нужно выполнить. Итак, для двух приведенных вами примеров это будет:

alias ticketapp='cd /proj/tickecting_app && rvm use ruby 1.9.x@gemset'

alias feedapp='cd /proj/rss_feed_app && rvm use ruby 2.1.x@gemset'

Итак, в следующий раз вам нужно будет указать только псевдоним (также не нужно указывать cd ), то есть ticketapp и feedapp в приведенном выше случае.

Чтобы сделать ваши псевдонимы постоянными, просто:

vim ~ / .bashrc

и укажите эти псевдонимы как есть в файле .bashrc .

6
27.01.2020, 20:14
[mikeserv@localhost ~]$ PS1=$PS1'$(
    [ ${last_hist=\!} -ne \! ] && {
    h=$(history 1)
    [ -n "${h#"${h##* cd *}"}" ] &&    
    . ./.dircmd >&2 2>/dev/null        
})${0##*["$0"$((last_hist=\!))]*}'
[mikeserv@localhost ~]$ cd .
[mikeserv@localhost ~]$ 
[mikeserv@localhost ~]$ echo

[mikeserv@localhost ~]$ cat <<\DIRCMD >.dircmd
echo this is my home directory
> DIRCMD
[mikeserv@localhost ~]$ 
[mikeserv@localhost ~]$ echo

[mikeserv@localhost ~]$ cd .
this is my home directory
[mikeserv@localhost ~]$

Что-то подобное должно работать в системе POSIX - хотя я думаю, что только bash требует \ backslash перед! Bang, как это. bash , похоже, обновляет историю таким образом, что не работает с fc - который является переносимым - но работает с историей . В других оболочках бит history 1 должен быть заменен на fc -l -1 , но bash , я полагаю, выполняет эту команду. Это было довольно неприятно.

В любом случае, каждый раз, когда отображается приглашение, оно определяет переменную $ last_hist как номер истории для последней команды. Это делается в поле соответствия при подстановке параметра, которая всегда не будет равняться ничему, поэтому это не отображается в подсказке.

Проверка fc просто гарантирует, что последний номер истории действительно увеличился - например, вы не просто нажали ввод или что-то еще. Он также проверяет, была ли последняя команда cd . Если оба верны, он пытается . источник файла в текущем каталоге с именем .dircmd . Если он существует, он запускается. Если нет, ну что ж.

3
27.01.2020, 20:14

Теги

Похожие вопросы