@proRuby

Страница 444 из 1594
v
15.02.2017
21:40:01
:D

A
15.02.2017
21:40:01
потому что то что у тебя стоит в системе будет видно и в бандлере (возможно тоже контролируется gem env, но я не знаю)

Alexander
15.02.2017
21:40:06
я это имел в виду, но это не изоляция полностью, да
у тебя может быть: - system wide - user wide - local wide

Alan
15.02.2017
21:40:25
если сравнивать с аналогиями, тоже самое что composer в php или npm в node
Ни то ни то не использовал и не писал на них

Google
Alexander
15.02.2017
21:40:44
потому что то что у тебя стоит в системе будет видно и в бандлере (возможно тоже контролируется gem env, но я не знаю)
ну, без доп. опций всё в одно место валится. и не совсем понимаю, о какой "системе" идёт речь

Ruslan
15.02.2017
21:40:46
в общем просто установщик пакетов (библиотек) которые ты будешь юзать в проекте

Alan
15.02.2017
21:40:51
A
15.02.2017
21:40:51
системный руби

Alexander
15.02.2017
21:41:10
Это касаемо bunler?
gem, а соответственно и bundler

bundler через gem-конфиг работает

Alexander
15.02.2017
21:42:02
A
15.02.2017
21:42:05
ну это как pip скорее

если ты с питоновыми вещами больше знаком

v
15.02.2017
21:42:26
хм, а чем от virtual env отличается?
venv тебе нулевый питон ставит, если чо

Ruslan
15.02.2017
21:42:36
v
15.02.2017
21:42:42
и подменяет системный на него

Google
Alan
15.02.2017
21:42:46
ну это как pip скорее
НУ pip же тупо установщик, скорее gem эквивалент pip

venv тебе нулевый питон ставит, если чо
сорян, не знал что он умеет питон ставить -получается там песочница.

A
15.02.2017
21:43:31
можно положить выхлоп pip freeze в файл и почти Gemfile.lock будет

ну и он тоже разрешает зависимости

Alan
15.02.2017
21:44:23
так получилось что зацепил питоновские технологии некоторые раньше чем рубишные, вот хочу опыт перенести

хорошо, а полноценная песочница с окружением есть у руби?

У руби, как мне кажется, не очень актуально менять версию(вроде же совместимо по большей части?)

РАзве что для готового проекта на старой версии писать

или если у заказчика требование

A
15.02.2017
21:47:08
полно

rvm, rbenv, chruby

я юзаю rvm, кому-то другие вещи нравятся.

Alan
15.02.2017
21:48:04
rvm, rbenv, chruby
они получается и зависимости и версию руби держат внутри?

я как менеджер версия пробовал и rvm и rbenv

A
15.02.2017
21:48:26
только версию руби и набор гемов для нее

Alan
15.02.2017
21:48:28
остановился на rbenv

A
15.02.2017
21:48:45
гемы для проекта у тебя менеджит бандлер

ну, как правило, никто не заставляет

Google
Alexander
15.02.2017
21:49:04
гемы для проекта у тебя менеджит бандлер
ну тааак, хз. они вяжутся на версию руби

A
15.02.2017
21:49:33
в Gemfile можно положить :ruby "2.1.8" и rvm (и многие другие) будут ее юзать для проекта

Alan
15.02.2017
21:49:35
только версию руби и набор гемов для нее
так стоп, зависимости, гемы, версия руби,бандлер, rbenv и тд

запутали господа.

Пишите ответы пожалуйста через reply

Alan
15.02.2017
21:50:08
а то нихрена от некоторых не понятно о чём они))))

ДАвайте по порядку всё

A
15.02.2017
21:51:31
rvm управляет версиями руби, бандлер - версиями гемов для твоего проекта

собственно всё

Alan
15.02.2017
21:52:46
rvm управляет версиями руби, бандлер - версиями гемов для твоего проекта
НА вопрос про полноценное виртуальное окружение мне ответили что rvm и тд

я думал что это менеджеры версий

Alan
15.02.2017
21:54:25
умеет локальную версию держать для проекта.

но никто из них не умеет локально зависимсоти держать

значит для них то и нужен bundler

Ruslan
15.02.2017
21:55:04
она глобально у тебя устанавливается и ты можешь на компе держать сколько угодно версий руби, просто использовать нужную тебе для проекта

Alan
15.02.2017
21:55:47
Ясно

A
15.02.2017
21:55:51
ну, гемы и зависимости к ним будут лежать для той версии руби в который ты их ставишь. т.е. без бандлера у тебя и так в разных руби будут разные гемы. у rvm еще есть подзабытый механизм "gemsets"

Google
Alexander
15.02.2017
21:57:48
хочу заметить, что для одной версии руби могут лежать несколько версий одного гема

то есть даже если гемы не локально установлены, а у пользователя — там может быть сколь угодно версий каждого из гемов. и бандлер возьмёт нужную (согласно Gemfile)

Alan
15.02.2017
21:58:34
Ruslan
15.02.2017
21:59:20
ты ставишь гемы в определенную версию, в ту под которой у тебя сейчас работает проект, а не глобально во все

Alexander
15.02.2017
21:59:45
логично, если все они верси руби эту поддерживают?
обычно ограничений у гемов по версии руби особых нет. максимум отсекают древние совсем, сложно нарваться

Alan
15.02.2017
22:01:15
обычно ограничений у гемов по версии руби особых нет. максимум отсекают древние совсем, сложно нарваться
Получается в Gemfile я могу положить список гемов нужный для конкретного проекта? и версию руби?

Ruslan
15.02.2017
22:01:31
да

Admin
ERROR: S client not available

Alan
15.02.2017
22:01:41
Тогда зачем bundler?

Ruslan
15.02.2017
22:01:49
он установщик

Alexander
15.02.2017
22:01:56
Получается в Gemfile я могу положить список гемов нужный для конкретного проекта? и версию руби?
ну за версию руби не отвечаю, надо смотреть на менеджер версий, но гемы — да

Ruslan
15.02.2017
22:01:57
чтобы установить гемы из твоего Gemfile

Alexander
15.02.2017
22:02:05
Тогда зачем bundler?
только он с этим Gemfile и работает

Ruslan
15.02.2017
22:02:19
ты добавил в гемфайл все свои гемы и все что тебе надо

Alan
15.02.2017
22:02:23
Ruslan
15.02.2017
22:02:38
потом вызывал bundler install и все, ну или если тебе надо обновить опять же гемы из всего списка Update

Alan
15.02.2017
22:02:45
Вот теперь разобрался, я сначала не понял кто работает с gemfile. =)

Google
Alexander
15.02.2017
22:03:43
ruby не связан с Gemfile. у руби есть gem тулза и всё. bundler — это гем. он умеет работает через Gemfile и работает чуть умнее встроенных средств. например, у тебя установлен гем_икс версии 1.1 и 1.2 и тебе в проекте нужен именно 1.1 без bundler ты вряд ли это сделаешь

bundler подключает в твой проект нужные гемы нужных версий либо через коммандную строку (bundle exec), либо через Bundler.require в коде. я первое не очень люблю, пользуюсь вторым

A
15.02.2017
22:16:09
потому что это писать надо

т.е. писать больше одного раза

Alan
15.02.2017
22:16:43
т.е. писать больше одного раза
Какждый раз при запуске терминала и переходе в проект?

A
15.02.2017
22:17:34
каждый раз при запуске скрипта

т.е. вместо rails console - bundle exec rails console

например

Ivan
15.02.2017
22:18:24


Bunny (rabbitmq)

A
15.02.2017
22:19:10
посмотри что у тебя с channel возможно он таки закрыт

Alan
15.02.2017
22:19:17
И вот ещё вопрос: смотрю гем https://github.com/atipugin/telegram-bot-ruby и не понимаю как эта либа будет нормально работать- на же синхронная, или я не понял чего?

Ivan
15.02.2017
22:19:36
def self.publish(message, type) x = channel.direct(@@queue_name, auto_delete: true) q = channel.queue(@@queue_name, durable: true, auto_delete: false) q.bind(x) x.publish({name: @@task_name, type: type, data: message}.to_json, persistent: true) channel.close connection.close end def self.channel @channel ||= connection.create_channel end def self.connection @conn ||= Bunny.new(Rails.configuration.rabbitmq['amqp']).tap { |c| c.start } end

Даже пробовал без @channel ||=

Безрезультатно

A
15.02.2017
22:21:09
попробуй тогда @channel.direct

Ivan
15.02.2017
22:21:51
def self.channel connection.create_channel end def self.connection Bunny.new(Rails.configuration.rabbitmq['amqp']).tap { |c| c.start } end

зачем, если все-равно канал вернет?

A
15.02.2017
22:22:16
а, ну да.

Страница 444 из 1594