serverless: npm link causes EISDIR: illegal operation on a directory, read

I’m trying to deploy using Serverless 0.5.1. My component structure is like this:

users/node_modules
users/package.json
users/s-templates.json
users/users-login
users/users-register

Deploying the functions works fine when node_modules is installed with npm install. But when I use npm link <module> to use linked modules during development, I get these errors from Serverless:

Serverless: Deploying functions in "development" to the following regions: eu-west-1  
Serverless: ------------------------  
Serverless: Failed to deploy the following functions in "development" to the following regions:  
Serverless: eu-west-1 ------------------------  
Serverless:   users-register: EISDIR: illegal operation on a directory, read  
Serverless:   users-login: EISDIR: illegal operation on a directory, read  

It seems like something is incompatible with symlinked modules.

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Reactions: 2
  • Comments: 22 (18 by maintainers)

Commits related to this issue

Most upvoted comments

Hi-ho, author of Wrench here. Someone reached out about taking over the project but wanted to drop a note here and apologize for the state it’s in - I haven’t maintained it because I built it for the early days of Node, and other projects surpassed it. I’ve kept it around because so many projects included it, and well… removing a package entirely and screwing over the ecosystem just seems like a screwball move. I put out a call on Twitter a few times for new maintainers but I probably could have done a better job of finding one.

tl;dr The lack of free time to maintain projects on GitHub is a villain we all sadly never escape the constraints of. Absolutely open to solutions.

Apologies for hijacking a serverless thread, but just continuing off my last comment; went ahead and deprecated wrench now. Deprecation notice pushes people towards fs-extra. If anyone wants to take it over they’re welcome to, but this seems good to do for now. Thanks!

@ac360 No worries! fs-extra is what I recommend people switch to anyway. I’ll try to find time this weekend to mark wrench as deprecated, at the very least (unless some magic person appears to take it over, but in all honesty I think one standard community solution is better anyway - perhaps that’s just the Pythonista in me speaking).

Hi @ryanmcgrath - Thank you for your great work with Wrench. I’ve used it in a lot of projects over the years, as well as the Serverless Framework. I think we’re going to switch over to fs-extra because we currently have a lot on our plate and we are already using it within the Framework. But wanted to let you know that your work is appreciated and it has had a positive impact on our lives. Thanks again, you rock 😃