Как я могу установить модули Perl без прав суперпользователя?

Я нахожусь на машине Linux, на которой у меня нет прав root. Я хочу установить некоторые пакеты через CPAN в свой домашний каталог, чтобы при запуске Perl он мог их видеть.

Я запустил cpan , который запросил некоторые параметры конфигурации. Он запросил какой-то каталог, который он предложил ~ / perl «для пользователей без полномочий root». Тем не менее, когда я пытаюсь установить пакет, он терпит неудачу на этапе make install , потому что у меня нет доступа на запись в / usr / lib / perl5 / something . Мне нужно что-то вроде пустого прицела. Это означает, что эта область пуста, но реагирует на все методы, на которые она обычно реагирует. В настоящее время я использую небольшой грязный прием. Я ...

Следующая задача:
Мне нужно что-то вроде пустого прицела. Это означает, что эта область пуста, но реагирует на все методы, на которые она обычно реагирует. В настоящее время я использую небольшой грязный прием. Я просто указываю «1 = 0» в качестве условий. Я нахожу это действительно уродливым, поскольку оно попадает в базу данных. Простое возвращение пустого массива не сработает, поскольку результат должен соответствовать методам с заданной областью действия.

Есть ли лучшее существующее решение для этого, или мне нужно будет написать его самому?

Может быть, какой-нибудь пример кода может помочь объяснить что мне нужно:


class User < ActiveRecord::Base
  named_scope :admins, :conditions => {:admin => true }
  named_scope :none_dirty, :conditions => "1=0" # this scope is always empty

  def none_broken
    []
  end

  def self.sum_score # okay, a bit simple, but a method like this should work!
    total = 0
    self.all.each do |user|
      total += user.score
    end
    return total
  end
end
User.admin.sum_score # the score i want to know
User.none_drity.sum_score # works, but hits the db
User.none_broken.sum_score # ...error, since it doesn't respond to sum_score
16
задан Baju 17 September 2010 в 13:45
поделиться