Go-Ethereum
如何為geth設置別名?
我通過從原始碼建構(如此處所述)安裝
geth
在 64 位 Ubuntu 16.04 上,我可以按如下方式執行程序:~$ 'path_to/go-ethereum/build/bin/geth' ...
但是,我想只用 command 執行它
geth
。我嘗試在 ./bashrc 中設置別名:alias geth='path_to/go-ethereum/build/bin/geth'
現在,當我
geth
在終端中鍵入時它可以工作,但是,-我認為- 當腳本呼叫命令時它會失敗。就我而言,該命令populus deploy Greeter --chain local_test
產生如下錯誤:... 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 `
最後,我嘗試使用 安裝 geth
npm
,但是在安裝了一系列 - 可能順序錯誤的 - 包安裝後,當我呼叫 時sudo apt-get install ethereum
,我收到此錯誤: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.
當我嘗試使用 預先安裝 geth 時
sudo apt-get install geth
,出現以下錯誤:The following packages have unmet dependencies: geth : Depends: ttf-ancient-fonts but it is not installable
該問題已在此處討論過,但建議的解決方案(
sudo apt-get update && sudo apt-get upgrade
安裝前)對我不起作用,所以我被困在這一點上。我應該嘗試清理東西並安裝
npm
,還是有辦法讓它與這個版本一起工作?任何幫助,將不勝感激。謝謝,
1 設置別名
您的別名不適用於腳本。由於腳本只需設置一次,您只需對執行檔的完整路徑名進行編碼即可。
否則,您可以:
geth
為in創建軟連結$HOME/bin
cd $HOME/bin ln -s path_to/go-ethereum/build/bin/geth geth
geth
為in創建軟連結/usr/local/bin
cd /usr/local/bin ln -s path_to/go-ethereum/build/bin/geth geth
如果您已經創建了一個
$HOME/bin
目錄,如果您有從該目錄執行的執行檔,並且您的腳本可以訪問此目錄中的執行檔(如果您從您的使用者帳戶執行腳本),請使用上面的 1.。否則使用上面的 2.。
安裝
來自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
您是否以正確的順序執行了上述所有命令?