tslint CLI и jest CLI не работают на iterm zsh macOS - PullRequest
0 голосов
/ 07 октября 2018

Даже после глобальной установки tslint, tscript, CLI tslint, похоже, не работает на i-term zsh в macOS.Когда я пытаюсь использовать его, он говорит

zsh: command not found: tslint

Однако, когда он добавляется в пакет json проекта узла как

"fix": "tslint --fix --project ."

и запускается

yarn fix

itКажется, работает правильно.Я попытался найти глобальный префикс npm, набрав

npm config get prefix

, он указывает на

usr/local/Cellar/node/10.7.0 

Все остальные двоичные файлы, такие как узел, работают, и в папке bin есть tslint, что означает, что он долженна самом деле работает, но это не похоже.Даже jest CLI не работает, но при добавлении в package.json проекта работает должным образом.

Я не понимаю, почему это не работает.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 10 декабря 2018

Я снова столкнулся с этой проблемой и решил ее решить, так как она беспокоила меня.Этот ответ может быть похож на A, B, C оболочки, но я уверен, что он поможет начинающим, таким как я.

Итак, когда мы устанавливаем любую библиотеку, которая исполняется на терминале (в основном CLI), оболочке необходимо знать, где хранится этот двоичный файл.Короче говоря, мы должны сказать нашей оболочке, что, скажем, есть CLI с именем sapphire, который вы хотите запустить на своем терминале, оболочка должна знать, где находится двоичный файл сапфира, который должен быть запущен.Оболочка знает это через переменную окружения $PATH, которая указана в файле .zshrc (если вы используете zsh в качестве оболочки) или .bashrc (если вы используете bash в качестве оболочки) в вашем домашнем каталоге.

Чтобы узнать, какие пути включены в $PATH (имеется в виду, где ваша оболочка выглядит в случае выполнения команды), запустите этот

echo $PATH

и проверьте, куда установил npmпакет по всему миру.Это легко, поскольку npm подскажет, где были установлены файлы.Примером может быть этот

enter image description here

Теперь просто проверьте, включен ли в этот путь $PATH этот путь или нет (под этим путем я подразумеваюof grunt был установлен /usr/local/Cellar/node/10.7.0/bin/grunt. Если он есть, grunt будет работать гладко, и если этот путь не включен в переменную $ PATH в вашем файле .zshrc / .bashrc, вы получите ошибку типа

zsh: command not found: grunt

Все, что вам нужно сделать, чтобы решить эту проблему, - включить этот путь в $ PATH, и все готово.

Как внести изменения в .zshrc?

Откройтефайл, используя vim или subl. Внесите необходимые изменения. Либо закройте терминал и откройте снова, либо перезапустите оболочку, запустив $SHELL. Все будет отражено.

...