准备环境
安装truffle
打开git bash,输入命令:npm install -g truffle
----->这个-g就代表在全局环境下安装truffle。
安装过程可能出现的问题,博主我在安装的时候,发现好像是安装成功了,但是之后再输入truffle命令查看版本的时候,却出现了truffle命令找不到的提示,这个就很扎心了。
经过痛心疾首地查资料debug,我发现我的全局路径,全局缓存好像有点问题:
我们输入以上命令可以发现,全局安装路径prefix配错了,而且和全局缓存位置不太一样,因此我们修改全局安装路径:
根据我的安装环境,我输入:
LJC刘骏驰@DESKTOP-NVJT8TO MINGW64 ~
$ npm config set prefix "C:\Users\23521\AppData\Roaming\npm"
LJC刘骏驰@DESKTOP-NVJT8TO MINGW64 ~
$ npm root -g
C:\Users\23521\AppData\Roaming\npm\node_modules
查看以后,发现修改成功!我们之后再安装truffle吧。
LJC刘骏驰@DESKTOP-NVJT8TO MINGW64 ~
$ npm install -g truffle
C:\Users\23521\AppData\Roaming\npm\truffle -> C:\Users\23521\AppData\Roaming\npm\node_modules\truffle\build\cli.bundled.js
> [email protected] postinstall C:\Users\23521\AppData\Roaming\npm\node_modules\truffle
> node ./scripts/postinstall.js
- Fetching solc version list from solc-bin. Attempt #1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\truffle\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {
"os":"darwin","arch":"any"} (current: {
"os":"win32","arch":"x64"})
+ [email protected]
added 143 packages from 62 contributors in 33.57s
LJC刘骏驰@DESKTOP-NVJT8TO MINGW64 ~
$ truffle
Truffle v5.1.50 - a development framework for Ethereum
发现安装成功了,太舒服了!!!
安装solidity编译器
LJC刘骏驰@DESKTOP-NVJT8TO MINGW64 /f/Program Files/truffle-project
$ npm install -g solc
C:\Users\23521\AppData\Roaming\npm\solcjs -> C:\Users\23521\AppData\Roaming\npm\node_modules\solc\solcjs
+ [email protected]
added 26 packages from 18 contributors in 7.884s
LJC刘骏驰@DESKTOP-NVJT8TO MINGW64 /f/Program Files/truffle-project
$ solcjs -V
0.7.4+commit.3f05b770.Emscripten.clang
出现类似上面内容便安装成功!!!
安装web3
web3.js是一个库集合,你可以使用HTTP或IPC连接本地或远程以太它节点进行交互。 web3的JavaScript库能够与以太坊区块链交互。 它可以检索用户帐户,发送交易,与智能合约交互等.
LJC刘骏驰@DESKTOP-NVJT8TO MINGW64 /f/Program Files/truffle-project
$ npm install -g [email protected]
+ [email protected]
added 6 packages from 9 contributors in 17.862s
安装webpack
本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。
LJC刘骏驰@DESKTOP-NVJT8TO MINGW64 /f/Program Files/truffle-project
$ npm install -g [email protected]
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
C:\Users\23521\AppData\Roaming\npm\webpack -> C:\Users\23521\AppData\Roaming\npm\node_modules\webpack\bin\webpack.js
> [email protected] postinstall C:\Users\23521\AppData\Roaming\npm\node_modules\webpack\node_modules\uglifyjs-webpack-plugin
> node lib/post_install.js
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\webpack\node_modules\watchpack-chokidar2\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {
"os":"darwin","arch":"any"} (current: {
"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\webpack\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {
"os":"darwin","arch":"any"} (current: {
"os":"win32","arch":"x64"})
+ [email protected]
added 368 packages from 291 contributors in 25.03s
LJC刘骏驰@DESKTOP-NVJT8TO MINGW64 /f/Program Files/truffle-project
$ webpack -V
webpack 3.11.0
truffle项目入门
创建并且初始化项目
输入truffle unbox webpack
,发现出错,这里在于没有对应 Visual Studio Build Tools and Python环境,因此我们需要进入powershell的管理员模式中进行下载:
LJC刘骏驰@DESKTOP-NVJT8TO MINGW64 /f/Program Files/truffle-project
$ truffle unbox webpack
Starting unbox...
=================
- Preparing to download box
鈭?Preparing to download box
- Downloading
鈭?Downloading
gyp ERR! find Python
gyp ERR! find Python Python is not set from