Can't Find Contract - Symlink Doesn't Work on Windows!
See original GitHub issueHello, after the recent commits the react box is not working on windows.
After compiling and running ‘npm run start’ from the client folder I get the following error: (This was not mentioned in the official documentation but in the repository of the new contributor - https://github.com/adrianmcli/truffle-react )
After I ran the client i got this error:
Failed to compile ./src/App.js Module not found: Can't resolve './contracts/SimpleStorage.json' in 'F:\reactBox\client\src'
I understand that the issue is the creation of a symlink and so I tried running the ‘npm run link-contracts:win32’ with no luck.
It gave me an error.
I can confirm that this commit is working properly -> https://github.com/truffle-box/react-box/tree/9fb7ed6c0253c71b574bf160072bc7eb9fdd0336
How can I fix this? And if it can’t be fixed is there a way to use truffle unbox to deploy the above commit directly?
Issue Analytics
- State:
- Created 5 years ago
- Comments:6 (1 by maintainers)
Top GitHub Comments
OK… after more than 2 hours of digging around here are the issues of the latest commit and how to fix them:
On Windows symlink does not work properly so we get an error module not found If you are on windows you need run
npm run link-contracts:win32
before runningnpm run start
. However, there is an error in the command in this commit. Replace the command with this:"link-contracts:win32": "cd src && mklink /D contracts ..\\..\\build\\contracts"
(the /D was \\D)We have a missing dependency bignumber.js Go inside the
client
folder and runnpm i --production bignumber.js
or just add"bignumber.js": "^7.2.1"
to the dependencies inside package.jsonThe npm run start does not work The command should be ran from the client folder. The README.md file is out of date.
Hope this helps someone. I don’t know what was so bad with the previous commit that we had to change the whole structure.
Symlink should no longer be required!
This is because we are now using the
contracts_build_directory
setting here:This ensures that the build artifacts are sent to the
contracts
folder inside thesrc
folder in the React app.