Nano Hash - криптовалюты, майнинг, программирование

Как переопределить установочный каталог Ruby и Ruby DevKit с помощью Chocolatey?

Я новичок в шоколаде, в прошлом я установил несколько пакетов в Windows 8, и мне это понравилось.

Я заметил, что Chocolatey устанавливает пакеты в каталог программ Windows по умолчанию (например, «Program Files x86» или около того). Может быть, есть еще что-то, чего мне не хватает.

Для конкретного случая Ruby 2.1.5 и Ruby DevKit у меня есть пара вопросов:

  • Как я могу убедиться, что устанавливаю 64-разрядные версии Ruby и Ruby DevKit, используя шоколад?
  • Как я могу установить пользовательский каталог установки из шоколадного?

Я знаю, что есть некоторая информация об изменении каталога установки, но синтаксис аргументов зависит от системы установки, используемой (если таковая имеется) конкретным устанавливаемым пакетом, в данном случае Ruby и Ruby DevKit. Мне еще предстоит найти строку установки CLI для ruby ​​​​и ruby ​​devkit в Windows. Любая помощь приветствуется. Спасибо


Ответы:


1

Предупреждение

Части Ruby, исходящие из *nix, не любят пробелы. Драгоценные камни являются одним из них. Это не шоколадная штука, просто к вашему сведению на случай, если у вас ДЕЙСТВИТЕЛЬНО возникнут проблемы после того, как вы поместите его в Program Files. Скорее всего, он не будет работать там, поэтому, если у вас возникнут проблемы, переместите его в другое место.

Установщик также на самом деле не обновляет разрешения, если я правильно помню, поэтому вы сами должны убедиться, что ваши разрешения хороши, чтобы вы могли запустить его, например. Program Files доступны только администраторам для записи, чего у вас не будет, если вы не запустите административную подсказку (это UAC, он удаляет вас из группы администраторов в процессах без повышенных прав).

Гарантия х64?

Если вы работаете в 64-битной системе и в пакете есть URL-адреса x64, вы получите 64-битную версию этого программного обеспечения, если вы специально не используете -x86 для принудительного использования 32-битной версии.

  • Глядя на Ruby 2.1.5 файлы пакетов, мы видим, что в ChocolateyInstall.ps1 есть это строка (обратите внимание на $url64, так что все в порядке):

Install-ChocolateyPackage "$packageId" 'exe' "$silentArgs" "$url" "$url64" -checksum $checksum -checksum64 $checksum64

  • Глядя на Ruby2.DevKit файлы пакетов - в шоколадномInstall.ps1 есть это строка (опять же с использованием URL-адреса x64):

Get-ChocolateyWebFile 'ruby2.devkit' "$file" -url "$url" -url64bit "$url64" -checksum "$checksum" -checksum64 "$checksum64" -checksumType "$checksumType"

Настроить папку установки

Обычно вы должны передать собственный переключатель для изменения каталога через installargs. Однако эти пакеты, из-за известных проблем, описанных выше, используют Get-BinRoot Chocolatey для определения места установки.

Get-BinRoot Шоколадки

Get-BinRoot использует переменную среды с именем ChocolateyBinRoot (по умолчанию установлено значение $env:SystemDrive\tools), чтобы определить, куда поместить определенное программное обеспечение, которое на самом деле не подходит для Program Files. Вы можете установить это где угодно, включая папки Program Files, и вместо этого будет использоваться это местоположение.

Установка Ruby и DevKit для v2

  • choco install ruby -version 2.1.5
  • Если в cmd.exe refreshenv, в противном случае закройте и снова откройте оболочку.
  • choco install ruby2.devkit (обратите внимание на ruby2)
  • Проверьте config.yml в папке DevKit, чтобы убедиться, что он установил установку ruby, в противном случае установите его и запустите ruby dk.rb install (вам может потребоваться сила) в папке devkit, чтобы установить его в ruby. Дополнительную информацию см. в DevKit.
  • Если в cmd.exe refreshenv, в противном случае закройте и снова откройте оболочку.
  • Теперь я хотел бы сказать, что вы можете установить гемы, но вам все еще нужно иметь дело с обновлением ssl-сертификата для rubygems .org. У меня есть пример на vagrant-windows-puppet.
  • Готово.
27.02.2015
  • Ух ты! Спасибо за подробный ответ, он дает много информации для изучения и усвоения, поэтому я не совсем уверен, где редактировать переменную env ChocolateyBinRoot. Можно ли установить такую ​​переменную с помощью параметра installArgs? 28.02.2015
  • Это переменная среды Windows. Чтобы установить это, есть способы GUI. Большинство консольных способов не сохраняются после сеанса. Если вы ищете в Google командную строку «Установить переменную среды», это должно помочь вам. 28.02.2015
  • @ j4v1, если вы считаете, что этот ответ достаточно хорош, отметьте его как ответ. 28.02.2015
  • Новые материалы

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

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..