с чего начать ruby 1.9 без rubygems

Я хочу, чтобы мое приложениене быть в состоянии использовать любые установленные драгоценные камни. Существует ли параметр запуска ruby 1.9 или способ сделать это программно?

 rogerdpack18 окт. 2012 г., 21:39
Я хочу убедиться, что я никогда не использую системные гемы - только локальные файлы, во время работы (чтобы подготовить приложение к распространению).
 phoet17 окт. 2012 г., 22:30
что вы пытаетесь достичь с этим?
 the Tin Man18 окт. 2012 г., 05:42
Как ваше приложение будет использовать любые драгоценные камни, если вы не скажете это сделать? Похоже, не добавляя какие-либоrequireКоманды -тима решат проблему. Также кажется, что пользователь, вызывающий интерпретатор Ruby, может использовать '-rи заставить Ruby что-то загружать, независимо от того, говорит ваш код или нет.

Ответы на вопрос(2)

Решение Вопроса
ruby --disable-gems

Это предотвращает добавление директорий установки gem к пути загрузки по умолчанию". (Язык программирования Ruby, стр. 391)

Редактировать 25-10-2012: ядро Ruby было в той же идее, что и @rogerdpack в комментариях, и добавило более подробныйruby --help параметр.Рубиновая ревизия!

 rogerdpack18 окт. 2012 г., 21:38
Потрясающе, что ruby -h не выводит это и не предлагает вам «подробного» варианта. Хлоп.
 Andrew Grimm19 окт. 2012 г., 00:46
У Jorg W Mittag есть более подробный комментарий--disable-gems вstackoverflow.com/a/3253995/38765
 steenslag18 окт. 2012 г., 23:17
@rogerdpack Да, это странно. сообщаетсякак ошибка.

файл конфигурации rubygemsЯ бы попытался взломатьgempath или жеgemhome чтобы увидеть, можете ли вы переопределить (вместо того, чтобы просто добавить) значения по умолчанию.

Если, например, настройкаgempath быть пустым или указывать на/dev/null, мешает использовать системные гемы, тогда это будет путь.

На мой взгляд, основным преимуществом этого является то, что ваш конфигурационный файл anti-rubygems может быть передан в ruby 1.9 в качестве параметра запуска (поэтому не задан), хорошо задокументирован и проверен в вашем хранилище.

Все это, конечно, игнорирует тот факт, что rubygems является частью стандартной библиотеки ruby 1.9 - поэтому ruby может задохнуться, если не сможет получить доступ к своим драгоценным камням, в зависимости от того, какая часть базовой установки ruby требует функциональности gem. YMMV.

 rogerdpack18 окт. 2012 г., 21:38
это увлекательная идея - просто настройте гемпат в сценарии. гений!

Ваш ответ на вопрос