I am working through the tutorial for zeppelin-os found here: https://docs.zeppelinos.org/docs/linking.html

and have an error when running zos create

Could not find file zos-lib/contracts/Initializable.sol in the project (imported from contracts/TokenExchange.sol)

I thought it would be an error with the install of zos-lib@2.4.0 so tried to install it again, and received the following errors

ryan@LAPTOP-SBSEC33S:~/token-exchange$ sudo npm install zos-lib@2.4.0 npm WARN deprecated lodash.isarray@4.0.0: This package is deprecated. Use Array.isArray.
npm WARN deprecated fs-promise@2.0.3: Use mz or fs-extra^3.0 with Promise Support
npm WARN deprecated tar.gz@1.0.7: ⚠️ WARNING ⚠️ tar.gz module has been deprecated and your application is vulnerable. Please use tar module instead: https://npmjs.com/tar

scrypt@6.0.3 preinstall /home/ryan/token-exchange/node_modules/scrypt
node node-scrypt-preinstall.js > scrypt@6.0.3 install /home/ryan/token-exchange/node_modules/scrypt> node-gyp rebuild
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/ryan/token-exchange/node_modules/scrypt/build'
gyp ERR! System Linux 4.4.0-17763-Microsoft
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /home/ryan/token-exchange/node_modules/scrypt
gyp ERR! node -v v10.16.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN token-exchange@1.0.0 No description
npm WARN token-exchange@1.0.0 No repository field.
npm ERR! errno 1
npm ERR! scrypt@6.0.3 install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the scrypt@6.0.3 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/ryan/.npm/_logs/2019-06-29T04_11_35_411Z-debug.log

It is not clear to me how to fix it in order to progress further in the tutorial

1 Answer 1


It appears that you are having issues with node/npm rather than anything specific to ZeppelinOS.

You could delete the token-exchange directory and start the tutorial again.

I am not sure why you need to use sudo.

If you are not already, you could reinstall npm with a node version manager. https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

I use nvm successfully on Ubuntu on Windows Subsystem for Linux.

Please note if changing node versions, there is an issue using node 12 (https://forum.zeppelin.solutions/t/node-12-issue-with-truffle/808) so you need to use either node 10 or 11.

For questions regards ZeppelinOS and smart contract development you can ask in the community forum: https://forum.zeppelin.solutions/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.