Google Cloud Functions 错误:“找不到模块‘sharp’”,但它在我的 package.json 中

Jam*_*ner 4 node.js npm google-cloud-functions sharp

我正在尝试将函数部署到 Google Cloud Functions。我基于他们的 ImageMagick教程

每次,该函数都会因为出现错误而无法部署。查看日志,错误是:

    Provided module can't be loaded. 
    Did you list all required modules in the package.json dependencies? 
    Detailed stack trace: 
    Error: Cannot find module 'sharp' 
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会发生这种情况,因为这sharp 我的package.json依赖关系。如果我在 Google Cloud 控制台中打开该函数的 Web 编辑器,该函数package.json会作为文件之一存在并显示sharp为依赖项。我尝试运行npm installnpm install --save重新部署,但这并没有解决任何问题。

我将包包含在函数中const sharp = require('sharp');(这是日志显示发生错误的行),这是我的package.json

{
  "name": "Resize images",
  "version": "0.0.1",
  "private": true,
  "author": "James Tyner",
  "engines": {
    "node": ">=10.0.0"
  },
  "dependencies": {
    "@google-cloud/storage": "^5.0.0",
    "sharp": "^0.25.4"
  }
}
Run Code Online (Sandbox Code Playgroud)

你能帮我弄清楚我做错了什么吗?

Abr*_*ham 5

自从我被骗在项目目录中安装软件包以来,这种情况已经在我身上发生过很多次了。它在本地工作正常,但在您尝试部署时会产生错误。

当我将目录更改为functions文件夹而不是 firebase 项目文件夹并在其中安装包时,它对我有用

cd functions
npm install [your missing package] --save
Run Code Online (Sandbox Code Playgroud)