I am running:
- MacOS
- Docker: Ubuntu
- nvm (for easy swapping of node versions)
- node.js
- npm (I try to install most packages locally and then use npx )
- VS Codium
- OpenZeppelin CLI (globally)
- Truffle (globally)
- ganache-cli (I haven’t got into using Ganache GUI)
- OpenZeppelin Test Helpers
- Remix
- RemixD
- Geth
- Grid
What I have done is
(A) base ubuntu docker image
(B) installed, git, node, npm, nvm
('C) installed ganache-cli global {plus a 1000 other apt install that are needed for keccak, truffle and solc}
(D) installed geth {for ganache-cli fork}
after tons of experimenting and learning came to conclusion that I will HAVE to
(E) install OZ right in this container
docker commit
this image
Now use it for my OZ projects as separate containers. Each of these child containers has to go through a lot of mess for updating any global npm package.
Hope this is helpful. More than happy to elaborate more. Thank you.
I also heavily use the OpenZeppelin documentation