运行松露的问题:找不到命令
Posted
技术标签:
【中文标题】运行松露的问题:找不到命令【英文标题】:Issues running truffle: command not found 【发布时间】:2021-11-29 07:48:39 【问题描述】:我正在尝试部署智能合约,在此之前我需要运行 truffle compile 但出现错误
bash: truffle: command not found
我已经在全球和本地安装了带有 npm 的 truffle,我尝试了这些命令(在我的课程中为其他人工作)
npm init
npm i truffle
./node_modules/.bin/truffle init
但是当我跑步时
npm i truffle
在大量其他错误中,我得到了“不受支持的架构”。所有这些修复都不起作用,我该如何从根本上解决这个问题?
也在尝试 sudo:
sudo npm install -g truffle
我猜确实安装了它,但也给出了错误:
truffle@5.4.14 postinstall /Users/khalidhamid/.npm-
global/lib/node_modules/truffle
> node ./scripts/postinstall.js
Error: EACCES: permission denied, open
'/Users/khalidhamid/Library/Preferences/truffle-
nodejs/config.json'
不管怎样,它仍然给出 truffle: command not found
【问题讨论】:
它与 npx truffle init 然后 npx truffle compile 一起使用,但它“使用:solc: 0.5.16+commit.9c3226ce.Emscripten.clang 成功编译,而且我的很多代码都具有 pragma solidity在 0.6 和 0.9 之间我想知道那会做什么。哦,编译也需要 5 分钟以上:/ npx truffle -v 大约需要 8 分钟才能完成(并且有效),但随后会从 solc-bin 中获取 solc 版本列表。尝试 #1 Truffle v5.4.14 - 以太坊的开发框架,我的 package.json 文件中的 truffle 是 5.1.39。这可能是问题吗? 这是一个权限问题。试试 chmod -R +w /Users/khalidhamid/Library/Preferences/ @pguardiario 没用,谢谢你的回答。更新 npx truffle 'sort of' 可以部署到 ganache 但需要很长时间。它部署了我的一份合同,但对另一份合同说:/Users/khalidhamid/.npm/_npx/20743/lib/node_modules/truffle/build/459.bundled.js:26813 throw new Error("Could not find artifacts对于 " + import_path + " 来自任何来源"); ^ 错误:无法从 Resolver.require (/Users/khalidhamid/.npm/_npx/20743/lib/node_modules/truffle/build/webpac 的任何来源找到 Tether 的工件 嗯,我不能一直跟着你走下这个兔子洞,但如果你没有从后端部署的特定需求,Remix 可能更用户友好,我会检查出来吧。 【参考方案1】:在您的项目中使用npm i truffle
安装松露有什么具体原因吗?我的意思是,只需将其全局安装并将cd
安装到您的新目录中,然后使用truffle init
来制作一个新项目。这样你就可以使用 truffle 架构来编写你的合约,也可以使用所有可用的 truffle 命令。同样使用 truffle 配置文件,您可以根据需要更改 Solidity 编译器版本。
【讨论】:
以上是关于运行松露的问题:找不到命令的主要内容,如果未能解决你的问题,请参考以下文章