O problema é que, mesmo se você adicionar esse diretório ao seu PATH, não há nenhum programa executável chamado "yo" lá.
Eu adicionaria uma função ao seu .bashrc:
yo() ( cd ~/.node/lib/node_modules/yo && node cli.js "$@" )
Estou tentando usar yeoman no Ubuntu. Tudo está instalado corretamente, mas não consigo usar o comando yo
do bash. Se eu navegar para o diretório apropriado e executar node cli.js
, tudo funcionará no prompt de comando, então acho que meu problema é que o script não está carregado na minha variável $PATH
.
O diretório do script é /home/qtrain/.node/lib/node_modules/yo
e o script real é /home/qtrain/.node/lib/node_modules/yo/cli.js
Eu tentei adicionar o caminho para o arquivo .bashrc usando
export PATH="$PATH:$HOME/.node/lib/node_modules/yo"
Mas quando eu reiniciar o terminal e digitar $PATH
Esta é minha saída:
/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
e, obviamente, você não funciona.
Minha pergunta: não estou adicionando o $ PATH corretamente? Devo adicionar o diretório ou o script real para que isso funcione na linha de comando?
Além disso, você foi instalado usando sudo npm install -g yo
, portanto, está instalado globalmente. Qualquer ajuda seria apreciada.
O problema é que, mesmo se você adicionar esse diretório ao seu PATH, não há nenhum programa executável chamado "yo" lá.
Eu adicionaria uma função ao seu .bashrc:
yo() ( cd ~/.node/lib/node_modules/yo && node cli.js "$@" )
Eu sei que é uma boa forma de responder a minha própria pergunta, mas, isso parece ser um problema muito comum, então espero que isso ajude os outros. Assistência recebida no canal irc # ubuntu-pa-us.
Solução:
Conceder permissões executáveis ao arquivo.
cd /path/to/directory
chmod +x cli.js
Crie um symlink - deve usar o caminho completo para o diretório - no meu caso
ln -s /home/user/.node/lib/node_modules/yo/cli.js /usr/bin/yo
Agora você trabalha na linha de comando.