Я пытаюсь использовать йомена в Ubuntu. Все установлено правильно, но я не могу использовать команду yo
от удара. Если я перешел к соответствующему каталогу и работаю node cli.js
все работает от командной строки, таким образом, я думаю, что моя проблема - то, что сценарий не загружается в моем $PATH
переменная.
Каталог для сценария /home/qtrain/.node/lib/node_modules/yo
и фактический сценарий /home/qtrain/.node/lib/node_modules/yo/cli.js
Я пытался добавить путь к .bashrc использованию файла
export PATH="$PATH:$HOME/.node/lib/node_modules/yo"
Но когда я перезапускаю терминал и тип $PATH
Это - мой вывод:
/home/qtrain/Enthought/Canopy_64bit/User/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/qtrain/.rvm/bin:/home/qtrain/.rvm/bin:/home/qtrain/.node/lib/node_modules/yo: No such file or directory
и очевидно эй не работает.
Мой вопрос: разве я не добавляю $PATH правильно? Я должен добавить каталог или фактический сценарий, чтобы заставить это работать в командной строке?
Кроме того, эй был установлен с помощью sudo npm install -g yo
таким образом, это установлено глобально. Любая справка ценилась бы.
Проблема состоит в том, что, даже если Вы добавляете, что каталог к Вашему ПУТИ, нет никакой исполняемой программы, названной "эй" там.
я добавил бы функцию к Вашему .bashrc:
yo() ( cd ~/.node/lib/node_modules/yo && node cli.js "$@" )
Я знаю, что это - невоспитанность для ответа на мой собственный вопрос, но, это, кажется, довольно распространенная проблема так, надо надеяться, это поможет другим. Полученная помощь на irc канале #ubuntu-pa-us.
Решение:
Дают исполнимые полномочия файла.
cd /path/to/directory
chmod +x cli.js
Создают символьную ссылку - должен использовать полный путь для каталога - в моем случае
ln -s /home/user/.node/lib/node_modules/yo/cli.js /usr/bin/yo
Эй теперь работа из командной строки.