Как я могу исправить модуль psy, который не найден или является верной версией Ruby

Иногда, когда в процессе dev есть обе рабочие станции WIN и системы LINUX (хостинг), а в коде вы не видите никакого вывода перед соответствующей строкой, это может быть форматирование файла и отсутствие Unix LF (linefeed) заканчивается.

Что мы обычно делаем, чтобы быстро исправить это, переименуйте файл, а в системе LINUX создайте новый файл вместо переименованного, а затем скопируйте его в него. Во многих случаях это решает проблему, так как некоторые из файлов, которые были созданы в WIN, когда-то перемещенные на хостинг, вызывают эту проблему.

Это исправление - это легкое исправление для сайтов, которыми мы управляем по FTP, и иногда может спасти наш новый членов команды некоторое время.

0
задан Alex Harvey 21 February 2019 в 10:28
поделиться

1 ответ

Без шагов по воспроизведению сломанной системы трудно сказать, что произошло, но в целом я могу сказать, как правильно настроить это, чтобы использовать определенную версию Puppet.

Помогает ли это ? В худшем случае вы можете удалить RVM и переустановить его.


Прежде чем продолжить, позвольте мне отметить, что Puppet 4.10.2 и 4.10.3 были удалены из Rubygems. (Хотя я смог установить его с помощью PDK.)

В остальном я предпочитаю 4.10.4 (только чтобы отличить его от последних 4.10).


Рекомендуется использовать Puppet Development Kit (pdk) . Если вы загружаете и устанавливаете PDK, вам, вероятно, просто нужно выполнить следующие шаги:

pdk convert
rm Gemfile.lock
PUPPET_GEM_VERSION=4.10.4 bundle update # If that version isn't already in PDK.
pdk test unit --puppet-version 4.10.4

Если вы не хотите идти по пути PDK, вы можете попробовать следующие варианты:

  1. Жесткий код версии Puppet, которую вы хотите в Gemfile.
gem 'puppet', '4.10.4'

Или:

gem 'puppet', '~> 4.10' # latest 4.10

Затем обновите свой пакет:

rm -f Gemfile.lock
bundle update
  1. Или, вы можете реализовать функцию PUPPET_GEM_VERSION, добавив это код (это то, что я делаю, для чего это стоит):
if puppetversion = ENV['PUPPET_GEM_VERSION']
  gem 'puppet', puppetversion
else
  gem 'puppet'
end

А затем:

rm -f Gemfile.lock
PUPPET_GEM_VERSION='~> 4.10' bundle update

Теперь вы можете запускать свои модульные тесты для определенной версии Число марионеток в норме:

bundle exec rake spec

Или как угодно.

0
ответ дан Alex Harvey 21 February 2019 в 10:28
поделиться
Другие вопросы по тегам:

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