Я пытаюсь заставить приложение Ruby on Rails работать с хостингом JustHost.
По сути, на Justhost установлены некоторые системные драгоценные камни, которые нельзя изменить в /usr/lib64/ruby/gems/1.9.3.
На системном уровне у них есть рельсы 3.2.13 и грабли 0.9.2.2.
Затем с панели управления я могу добавить свои собственные драгоценные камни. Итак, я установил грабли 11.1.2.
Это добавляет рейк 11.1.2 в эту редактируемую папку в моем домашнем каталоге: $HOME/ruby/gems
Теперь также из панели управления я могу создать приложение Ruby on Rails. Это создало приложение Ruby в $HOME/rails_apps/MyApp.
Если я запускаю пакетную установку с этим новым приложением, все работает отлично. Однако, если я добавлю эту строку в свой Gemfile:
gem 'rake', '11.1.2'
Когда я запускаю установку пакета, я получаю эту ошибку:
Gem::Exception: Cannot load gem at [/usr/lib64/ruby/gems/1.9.3/cache/rake-11.1.2.gem] in /home1/myhome/rails_apps/redmine
An error occurred while installing rake (11.1.2), and Bundler cannot continue.
Make sure that `gem install rake -v '11.1.2'` succeeds before bundling.
Поэтому я не уверен, как мне избежать этой ошибки. rake 11.1.2 установлен в моей пользовательской гем-коллекции, так что, возможно, мне нужно что-то сделать, чтобы он взял его оттуда.
В документации JustHost я видел один шаг по адресу https://my.justhost.com/hosting/help/rails
Он говорит: Настройте свой .bashrc
Вам нужно будет добавить следующее в файл ~/.bashrc.
~/.bashrc file
export HPATH=$HOME
export GEM_HOME=$HPATH/ruby/gems
export GEM_PATH=$GEM_HOME:/lib64/ruby/gems/1.9.3
export GEM_CACHE=$GEM_HOME/cache
export PATH=$PATH:$HPATH/ruby/gems/bin
export PATH=$PATH:$HPATH/ruby/gems
Проблема в том, что у меня нет скрытого .bashrc в моей домашней папке. Могу ли я создать его? Единственный bashrc, который я вижу, это /etc/bashrc (не скрытый). Может быть, я могу скопировать этот файл и добавить строки.
Я скопировал этот файл как $HOME/.bashrc и добавил строки экспорта, но все равно получаю ту же ошибку.
Поэтому я не знаю, что еще я могу сделать. Есть идеи?