¿Cómo establecer un alias para geth?

Lo instalé gethen un Ubuntu 16.04 de 64 bits compilando desde la fuente (como se describe aquí ), y puedo ejecutar el programa de la siguiente manera:

~$ 'path_to/go-ethereum/build/bin/geth' ...

Sin embargo, quiero ejecutarlo solo con el comando geth. Traté de establecer un alias en ./bashrc:

alias geth='path_to/go-ethereum/build/bin/geth'

Ahora funciona cuando escribo gethen la terminal, sin embargo, -creo- falla cuando un script llama al comando. En mi caso, el comando populus deploy Greeter --chain local_testarroja un error de la siguiente manera:

  ...
  File "/usr/local/lib/python2.7/dist-packages/geth/accounts.py", line 133, in ensure_account_exists
    accounts = get_accounts(data_dir, **geth_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/geth/accounts.py", line 31, in get_accounts
    stderrdata,
ValueError: Error trying to list accounts
Command    : nice -n 20 geth --rpc --rpcaddr 127.0.0.1 --rpcport 8545 --rpcapi admin,debug,eth,miner,net,personal,shh,txpool,web3,ws --ws --wsaddr 127.0.0.1 --wsport 8546 --wsapi admin,debug,eth,miner,net,personal,shh,txpool,web3,ws --datadir /home/me/populus/chains/local_test --maxpeers 0 --networkid 1234 --port 30303 --ipcpath /home/me/populus/chains/local_test/geth.ipc --ipcapi admin,debug,eth,miner,net,personal,shh,txpool,web3,ws --verbosity 5 --unlock 0 --password /usr/local/lib/python2.7/dist-packages/geth/default_blockchain_password --nodiscover --mine --minerthreads 1 account list
Return Code: 127
stdout: N/A
stderr:
`nice: ‘geth’: No such file or directory
`

Finalmente, traté de instalar geth con npm, pero después de una serie de instalaciones de paquetes -probablemente mal ordenados-, cuando llamo a sudo apt-get install ethereum, aparece este error:

The following packages have unmet dependencies:
 ethereum : Depends: geth but it is not going to be installed
            Depends: bootnode but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Cuando intento instalar geth de antemano con sudo apt-get install geth, aparece el siguiente error:

The following packages have unmet dependencies:
 geth : Depends: ttf-ancient-fonts but it is not installable

El problema ya se discutió aquí, pero la solución propuesta ( sudo apt-get update && sudo apt-get upgradeantes de la instalación) no funcionó para mí, por lo que estoy atascado en este punto.

¿Debería intentar limpiar las cosas e instalarlas con npm, o hay alguna manera de hacer que funcione con esta compilación? Cualquier ayuda sería apreciada.

Gracias,

Respuestas (1)

1 conjunto de alias

Sus alias no funcionarán con scripts. Como los scripts solo deben configurarse una vez, puede codificar el nombre completo de la ruta del ejecutable.

De lo contrario, puede:

  1. Crear un enlace suave para gethen$HOME/bin

    cd $HOME/bin
    ln -s path_to/go-ethereum/build/bin/geth geth
    
  2. Crear un enlace suave para gethen/usr/local/bin

    cd /usr/local/bin
    ln -s path_to/go-ethereum/build/bin/geth geth
    

Use 1. arriba si ya ha creado un $HOME/bindirectorio, si tiene ejecutables que ejecuta desde él, y su secuencia de comandos puede acceder a los ejecutables en este directorio (si ejecuta las secuencias de comandos desde su cuenta de usuario).

De lo contrario, use 2. arriba.



Instalación

De las Instrucciones de instalación para Ubuntu :

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

¿Ejecutaste todos los comandos anteriores en el orden correcto?

Gracias por tu respuesta. Para la parte de instalación, sí, ejecuté exactamente los mismos comandos pero obtuve el error que mencioné. Sin embargo, trabajaron en otra instalación (nueva) de Ubuntu.