Не удается зафиксировать при объединении commitizen + husky: nvm не совместим с переменной окружения "npm_config_prefix"

У меня есть проект, который использовал commitizen без проблем. Я решил добавить хаски, чтобы бежать precommit крючки с красивее. Проблема в том, что когда я запускаю npm run cm команда, я получаю эту ошибку...

.....................
? Are there any breaking changes? No
? Does this change affect any open issues? No
nvm is not compatible with the "npm_config_prefix" environment variable: currently set to "/Users/aiglesias/.nvm/versions/node/v8.9.4"
Run `unset npm_config_prefix` to unset it.
.git/hooks/pre-commit: line 49: node: command not found
husky > npm run -s precommit (node )

env: node: No such file or directory

husky > pre-commit hook failed (add --no-verify to bypass)
/Users/aiglesias/Coding/react/react-basesupsub/node_modules/commitizen/dist/cli/strategies/git-cz.js:102
        throw error;
        ^

Error: git exited with error code 1
    at ChildProcess.<anonymous> (/Users/aiglesias/Coding/react/react-basesupsub/node_modules/commitizen/dist/git/commit.js:50:26)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! react-basesupsub@0.0.0-development cm: `git-cz`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the react-basesupsub@0.0.0-development cm script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/aiglesias/.npm/_logs/2018-02-03T08_22_42_663Z-debug.log

Я снял красивее и попробуйте просто хаски и основные npm run test precommit hook, с той же ошибкой. Очевидно, я вижу сообщение, но я не знаю, работает ли unset npm_config_prefix может вызвать у меня большие проблемы в других местах.

Редакция:

  • ни $NPM_CONFIG_PREFIX ни $PREFIX установлены в моей среде.
  • я пробовал unset npm_config_prefix, но с такими же результатами.

1 ответ

Решение

После сумасшествия, по-видимому, проблема с текущей стабильной версией лайки. Обновление до нового husky 0.15.0-rc.3 версия решила проблему.

На случай, если вы столкнетесь с этой проблемой в будущем, для обновления вам просто нужно...

  1. npm i husky@next -D
  2. Идти к package json и переместить свои крючки из "script" в новый раздел husky.hooks, обращая внимание на измененные имена (из precommit в pre-commit, например). В моем случае...

    ДО:

    "scripts": {
        ...
        "precommit": "lint-staged"
    }
    

    ПОСЛЕ:

    "scripts": {
        ...
    },
    "husky": {
        "hooks": {
            "pre-commit": "lint-staged"
        }
    }
    
Другие вопросы по тегам