nvm сохраняет & ldquo; забывать & rdquo; узел в новой терминальной сессии

Если вы можете изменить способ вызова декораторов из

class Foo(object):
    @many
    @decorators
    @here
    def bar(self):
        pass

на

class Foo(object):
    @register(many,decos,here)
    def bar(self):
        pass

, вы можете зарегистрировать декораторы следующим образом:

def register(*decorators):
    def register_wrapper(func):
        for deco in decorators[::-1]:
            func=deco(func)
        func._decorators=decorators        
        return func
    return register_wrapper

Например:

def many(f):
    def wrapper(*args,**kwds):
        return f(*args,**kwds)
    return wrapper

decos = here = many

class Foo(object):
    @register(many,decos,here)
    def bar(self):
        pass

foo=Foo()

Здесь мы обращаемся к кортежу декораторов:

print(foo.bar._decorators)
# (<function many at 0xb76d9d14>, <function decos at 0xb76d9d4c>, <function here at 0xb76d9d84>)

Здесь мы печатаем только имена декораторов:

print([d.func_name for d in foo.bar._decorators])
# ['many', 'decos', 'here']
485
задан bfontaine 9 November 2015 в 13:41
поделиться

1 ответ

$ nvm alias default {NODE_VERSION}

, когда мы будем использовать вышеупомянутую команду, только обновите версию узла, но npm все еще использование старая версия.

Вот другое решение для обновления и node и npm, в моем случае я хочу использовать узел 8.9.4, и я использовал ниже команды.

$ nvm use default 8.9.4

И команда возвращает вывод.

Теперь узел использования v8.9.4 (npm v5.6.0)

0
ответ дан Anish Agarwal 4 November 2019 в 08:12
поделиться
  • 1
    @Chris хорошая вещь, которую Вы ставили для GCC, не javac в 1.2/1.3 дни, иначе Вы, возможно, не убежали так хорошо. – Suppressingfire 21 December 2009 в 23:15
Другие вопросы по тегам:

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