azure-func-http: Schematics fail without install dependencies

I’m submitting a…


[ ] Regression 
[x] Bug report
[ ] Feature request
[x] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.

Current behavior

Schematics fail. You need to install manually npm i @nestjs/azure-func-http and then add schematics with nest add @nestjs/azure-func-http.

Expected behavior

Automatically install necessary dependencies.

Minimal reproduction of the problem with instructions

nest add @nestjs/azure-func-http

What is the motivation / use case for changing the behavior?

Comodity

Environment


Nest version: 7.0.0

 
For Tooling issues:
- Node version: 12.18.3  
- Platform:  Linux 

Others:

Thanks for your work,

About this issue

  • Original URL
  • State: open
  • Created 4 years ago
  • Reactions: 5
  • Comments: 19 (1 by maintainers)

Most upvoted comments

Another pnpm user here, found another workaround without downgrading anything:

pnpm add @nestjs/azure-func-http
pnpm add @azure/functions
pnpm add @schematics/angular
nest add @nestjs/azure-func-http

This finally gives this output:

✔ Package installation in progress... ☕
Starting library setup...
CREATE .funcignore (66 bytes)
CREATE host.json (23 bytes)
CREATE local.settings.json (116 bytes)
CREATE proxies.json (72 bytes)
CREATE main/function.json (294 bytes)
CREATE main/index.ts (287 bytes)
CREATE main/sample.dat (23 bytes)
CREATE src/main.azure.ts (321 bytes)
UPDATE package.json (2109 bytes)
✔ Packages installed successfully.

Not sure why those steps were necessary, but i just noticed that all those libraries were present in the package.json but missing in the node_modules … perhaps a bug on pnpm side ?

In case it helps anyone: I had to downgrade @schematics/angular:

npm i @schematics/angular@^13.0.0

I have the same problem. Manual installation works

New project:

nest new api
nest add @nestjs/azure-func-http

Out:

Error: Collection "@nestjs/azure-func-http" cannot be resolved.
    at NodeModulesEngineHost.resolve (/home/cenguidanos/Desktop/api/node_modules/@angular-devkit/schematics/tools/node-module-engine-host.js:75:19)
    at NodeModulesEngineHost._resolveCollectionPath (/home/cenguidanos/Desktop/api/node_modules/@angular-devkit/schematics/tools/node-module-engine-host.js:80:37)
    at NodeModulesEngineHost.createCollectionDescription (/home/cenguidanos/Desktop/api/node_modules/@angular-devkit/schematics/tools/file-system-engine-host-base.js:110:27)
    at SchematicEngine._createCollectionDescription (/home/cenguidanos/Desktop/api/node_modules/@angular-devkit/schematics/src/engine/engine.js:148:40)
    at SchematicEngine.createCollection (/home/cenguidanos/Desktop/api/node_modules/@angular-devkit/schematics/src/engine/engine.js:141:43)
    at NodeWorkflow.execute (/home/cenguidanos/Desktop/api/node_modules/@angular-devkit/schematics/src/workflow/base.js:101:41)
    at main (/home/cenguidanos/Desktop/api/node_modules/@angular-devkit/schematics-cli/bin/schematics.js:223:24)
    at Object.<anonymous> (/home/cenguidanos/Desktop/api/node_modules/@angular-devkit/schematics-cli/bin/schematics.js:314:5)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)

Failed to execute command: "/home/cenguidanos/Desktop/api/node_modules/@nestjs/cli/node_modules/.bin/schematics" @nestjs/azure-func-http:nest-add --sourceRoot="src" /usr/bin/node /usr/bin/nest add @nestjs/azure-func-http

If previously install:

nest new api
yarn add @nestjs/azure-func-http
nest add @nestjs/azure-func-http

Works fine:

✔ Package installation in progress... ☕
Starting library setup...
CREATE .funcignore (66 bytes)
CREATE host.json (23 bytes)
CREATE local.settings.json (116 bytes)
CREATE proxies.json (72 bytes)
CREATE main/function.json (294 bytes)
CREATE main/index.ts (287 bytes)
CREATE main/sample.dat (23 bytes)
CREATE src/main.azure.ts (321 bytes)
UPDATE package.json (2014 bytes)
✔ Packages installed successfully.

@davidonlaptop thanks !! IT WORK

Another pnpm user here, found another workaround without downgrading anything:

pnpm add @nestjs/azure-func-http
pnpm add @azure/functions
pnpm add @schematics/angular
nest add @nestjs/azure-func-http

This finally gives this output:

✔ Package installation in progress... ☕
Starting library setup...
CREATE .funcignore (66 bytes)
CREATE host.json (23 bytes)
CREATE local.settings.json (116 bytes)
CREATE proxies.json (72 bytes)
CREATE main/function.json (294 bytes)
CREATE main/index.ts (287 bytes)
CREATE main/sample.dat (23 bytes)
CREATE src/main.azure.ts (321 bytes)
UPDATE package.json (2109 bytes)
✔ Packages installed successfully.

Not sure why those steps were necessary, but i just noticed that all those libraries were present in the package.json but missing in the node_modules … perhaps a bug on pnpm side ?

Thanks mate, this also worked for yarn.

Is this now resolved with v9 support?

Thanks @didieryemalin that’s worked!

The issue is happening because the azure-func-http package is only compatible with the nest cli versions ^6.0.0, ^7.0.0 or ^8.0.0". the ^9.0.0 version of nest was released 4 months ago. The following workaround fixed my issue.

  1. uninstall the @nestjs/cli package globally/locally
  2. npm install -g @nestjs/cli@8.2.8 (8.2.8 is the latest version 8 of the nest cli)
  3. nest new <project-name>
  4. nest add @nestjs/azure-func-http