установка сценария в $PATH

Я пытаюсь использовать йомена в 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 таким образом, это установлено глобально. Любая справка ценилась бы.

2
задан 8 August 2014 в 20:20

2 ответа

Проблема состоит в том, что, даже если Вы добавляете, что каталог к Вашему ПУТИ, нет никакой исполняемой программы, названной "эй" там.

я добавил бы функцию к Вашему .bashrc:

yo() ( cd ~/.node/lib/node_modules/yo && node cli.js "$@" )
2
ответ дан 7 October 2019 в 09:35

Я знаю, что это - невоспитанность для ответа на мой собственный вопрос, но, это, кажется, довольно распространенная проблема так, надо надеяться, это поможет другим. Полученная помощь на 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

Эй теперь работа из командной строки.

0
ответ дан 7 October 2019 в 09:35

Другие вопросы по тегам:

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