serverless / serverless

⚡ Serverless Framework – Use AWS Lambda and other managed cloud services to build apps that auto-scale, cost nothing when idle, and boast radically low maintenance.
https://serverless.com
MIT License
46.3k stars 5.69k forks source link

V4: Unrecognized command “plugin install” v4.0.26 #12550

Open ryan-bloom opened 4 weeks ago

ryan-bloom commented 4 weeks ago

Issue description

Hi! I was using serverless framework v3.38.0 to build a python lambda in aws and it was working as expected with my requirements.txt file to import some dependencies into my lambda function. With serverless v3.38.0 I was able to simply run the command sls plugin install -n serverless-python-requirements as explained here.

However with the upgrade to serverless v4.0.26, I’m unable to run this command as I get the following error: image

After that errored, I manually added this plugin to my serverless.yml file and manually installed it with npm install serverless-python-requirements --save-dev, but when deploying my lambda and triggering it, I still get failures saying that my imported packages from requirements.txt can’t be found.

Any thoughts? Is this a known bug in v4 that is going to be addressed? Thanks!

Context

I downgraded my serverless version to previous 3.38.0 to get this to work for me so my support --summary does not reflect the error case that I saw:

Environment: darwin, node 22.1.0, framework 3.38.0 (local) 3.38.0v (global), plugin 7.2.3, SDK 4.5.1 Credentials: Serverless Framework Provider: "default" (https://app.serverless.com/ebbcarbonrb/apps/ebb-event-to-timestream-lambda/ebb-event-to-timestream-lambda/dev/us-west-2/providers) Docs: docs.serverless.com Support: forum.serverless.com Bugs: github.com/serverless/serverless/issues

austencollins commented 4 weeks ago

Thanks for reporting @ryan-bloom. We haven't heard this yet, but we'll look into this right away, regardless.

eahefnawy commented 3 weeks ago

@ryan-bloom Unfortunately I was not able to reproduce this. We did have an issue with plugin install recently, but that was fixed. Could you please make sure you are running the latest version of 4.0.33 and try again? 😊

Screen Shot 2024-05-31 at 11 27 53 AM
darthwalsh commented 3 weeks ago

I'm not sure that serverless-python-requirements is marked compatible with serverless@4 just yet:

https://github.com/serverless/serverless-python-requirements/blob/6e806c09686e57af93904af1d46b3b20aa62a202/package.json#L81 shows

  "peerDependencies": {
    "serverless": "^2.32 || 3"
  },

We came across this thread from renovatebot trying to upgrade from serverless v3. Trying to install using our new package.json

{
  "devDependencies": {
    "serverless": "^4.0.0",
    "serverless-python-requirements": "^6.1.0"
  }
}

prints

$ npm i
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: undefined@undefined
npm error Found: serverless@4.0.24
npm error node_modules/serverless
npm error   dev serverless@"^4.0.0" from the root project
npm error
npm error Could not resolve dependency:
npm error peer serverless@"^2.32 || 3" from serverless-python-requirements@6.1.0
npm error node_modules/serverless-python-requirements
npm error   dev serverless-python-requirements@"^6.1.0" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /Users/walshca/.npm/_logs/2024-05-31T18_52_54_054Z-eresolve-report.txt

$ npm --version
10.7.0
austencollins commented 3 weeks ago

@darthwalsh Just updated that package.json to work with version 4

ryan-bloom commented 3 weeks ago

Upgraded to serverless 4.0.33 and running the plugin install command gets the same error that @darthwalsh saw:

image
darthwalsh commented 3 weeks ago

@ryan-bloom the issue is in "serverless-python-requirements": "6.1.0" -- we need to wait for a new release in https://github.com/serverless/serverless-python-requirements/releases