【发布时间】:2021-02-09 13:49:12
【问题描述】:
我在我的 Ubuntu 14.04 PC 上安装了以太坊开发工具包 Truffle。只需键入“truffle”,我就可以从终端窗口轻松执行它。但是,当我尝试从 Bash shell 脚本执行 Truffle 时,出现以下错误:
ide-do-truffle.sh: line 3: truffle: command not found
shell 脚本里面的行就是:
truffle compile --network local
如何在 shell 脚本中执行 Truffle?
如果有人还可以解释当您执行全局安装的 Node.JS 包(如 Truffle)时幕后发生的事情,那也会很有帮助。
【问题讨论】:
-
要么指定 truffle 的路径,要么将 truffle 所在的目录添加到您的
PATH变量中。 -
在您的终端窗口中尝试
echo $SHELL。您的 shell 可能不是 bash。还要检查您的脚本是否确实使用 bash 运行,而不是使用其他一些 sh-family shell。对于一个 shell,truffle的路径可能在您的PATH中,但对于您的 bash shell 则不存在。此外,如果 bash 脚本以与您不同的用户身份运行,PATH可能会不同。 -
@ShaneBishop
echo $SHELL的结果是:/bin/bash -
在您的终端窗口和脚本中的
truffle行之前尝试echo $PATH,然后比较两者。 -
@ShaneBishop 就是这样。谢谢。出于某种原因,我用来 shell 到 shell 脚本的 IDE 以一种不友好的方式改变了路径。如果您想将您的评论更改为答案,我会投票并接受它。
标签: node.js linux bash npm truffle