尝试使用坚固的v0.5.0与特松露。启动v5.0.0信托允许在truffle.js中设置solc版本,就像它的文档
我试过两个土生土长
compilers: {
solc: {
version: "native"
}
}使用
$ solc --version
solc, the solidity compiler commandline interface
Version: 0.5.0+commit.1d4f565a.Linux.g++和solc-js v0.5.0
compilers: {
solc: {
version: "0.5.0"
}
}这一切都是关于v5的:
$ truffle version
Truffle v5.0.0-beta.1 (core: 5.0.0-beta.1)
Solidity v0.4.25 (solc-js)v0.4.25这里是它的默认打包solc版本,而不是我在项目中使用的版本。
但即使是一个空的样本合同
pragma solidity ^0.5.0;
contract Sample {
constructor() internal {}
}未能编译:
$ truffle compile
TypeError: Error parsing /path/to/project/contracts/Sample.sol: solc.compileStandard is not a function
at Object.parseImports (/home/etsvigun/.nvm/versions/node/v10.13.0/lib/node_modules/truffle/build/webpack:/packages/truffle-compile/parser.js:49:1)
at Object.getImports (/home/etsvigun/.nvm/versions/node/v10.13.0/lib/node_modules/truffle/build/webpack:/packages/truffle-compile/profiler.js:332:1)
at Promise.all.then.results (/home/etsvigun/.nvm/versions/node/v10.13.0/lib/node_modules/truffle/build/webpack:/packages/truffle-compile/profiler.js:305:1)是否已经有一种方法可以使用Solidityv0.5.0来处理信托公司,或者说这还不起作用呢?
发布于 2018-11-17 19:24:03
实际上,我还没有尝试过您正在做的事情,但是我注意到了对链接文档的可能误解。也许会有帮助。
如果我没有弄错的话,它们的“原生”与块菌捆绑在一起,您用于solc-js v0.5.0的语法是用于我认为您没有使用的坞容器。
你试过吗?:
// Relative or absolute path to an npm installed solc-js
compilers: {
solc: {
version: "/Users/axic/.nvm/versions/node/v8.9.4/lib/node_modules/solc"
}
}显然,路径需要指向实际二进制文件的安装位置。
希望能帮上忙。
https://ethereum.stackexchange.com/questions/62495
复制相似问题