【问题标题】:Error: Cannot find module './build/Release/sharp'错误:找不到模块“./build/Release/sharp”
【发布时间】:2021-12-29 14:27:09
【问题描述】:

我正在尝试使用 Sharp 运行一些 NodeJS 代码,但出现以下错误:

    [root@localhost myapp-backend]# node server.js 

module.js:340
    throw err;
    ^
Error: Cannot find module './build/Release/sharp'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/root/myapp-backend/node_modules/sharp/index.js:11:13)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/root/myapp-backend/server.js:277:13)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:935:3

有什么想法吗?

谢谢。

【问题讨论】:

  • 你试过检查你的路径吗?
  • 是的,我在发布之前进行了谷歌搜索并验证了我的 PATH 设置是否正确,如果这是你的意思吗?
  • npm install运行时有报错吗?
  • 我最近使用了 PATH 变量,并立即开始在一堆不同的项目中使用它。我可能需要添加 /bin 等

标签: javascript node.js


【解决方案1】:

原来我使用的 Debian 8.x 发行版不包含 vips,但我没有收到错误消息。运行

apt-get install libvips

紧随其后

npm install sharp

解决了问题,sharp终于安装好了。

【讨论】:

    【解决方案2】:

    这可能是由于 Sharp 没有安装。当我通过安装它时 npm,没有报错,但是当我进入node_modules/sharp时,三个都没有构建文件。

    您可以尝试通过以下方式构建它
    node-gyp rebuild

    但是,在此之前,请确保您已安装 Vips - 这是 Sharp 使用的库。在 Mac 上你会这样做
    brew install homebrew/science/vips --with-webp --with-graphicsmagick

    构建 Sharp 库后,您应该可以开始了。

    【讨论】:

    • 在 windows 和 linux 上,sharp 带有一个预构建的 vips 二进制文件。只需执行npm install sharp 即可,一切正常。如您所说,在 OS X 上,您需要先使用 brew 安装 vips。
    • libvips 应该在 Debian 上使用 apt-get 手动安装,然后使用 npm install sharp
    【解决方案3】:

    检查node_modules/sharp 上是否没有构建文件夹,然后运行:

    npm i sharp
    

    它将重新安装并构建清晰。 (为我工作)

    【讨论】:

      【解决方案4】:

      对我有用的是更新到最新的 Node 13,而不是 apt-get 默认提供的 Node 8。回答仅供参考。

      【讨论】:

        【解决方案5】:

        我在用于 s3 图像裁剪的 Lambda 函数中遇到了同样的错误。

        我安装了如下的sharp模块,我能够使用Node.js 14.x版本裁剪图像。

        npm install --platform=linux --arch=x64 sharp
        

        请检查"node_modules/sharp/build/Release/" 文件夹中的“sharp-linux-x64.node”

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-03-24
          • 2016-10-20
          • 2017-01-22
          • 2013-01-24
          • 1970-01-01
          • 1970-01-01
          • 2019-11-05
          • 1970-01-01
          相关资源
          最近更新 更多