【问题标题】:Next.js - `npm run build` failedNext.js - `npm run build` 失败
【发布时间】:2020-12-31 21:40:17
【问题描述】:

尝试在next.config.js 中使用target: 'serverless' 构建我的应用程序(以便在AWS Lambda 上部署)。 运行 npm run build 时,我得到以下输出:

Warning: Built-in CSS support is being disabled due to custom CSS configuration being detected.
See here for more info: https://err.sh/next.js/built-in-css-disabled  

info  - Using external babel configuration from C:\Users\User\Desktop\mysite\.babelrc
info  - Creating an optimized production build  
warn  - Compiled with warnings

./node_modules/require_optional/index.js
Critical dependency: the request of a dependency is an expression     

./node_modules/node-pre-gyp/lib/pre-binding.js
Critical dependency: the request of a dependency is an expression     

./node_modules/node-pre-gyp/lib/util/versioning.js
Critical dependency: the request of a dependency is an expression     

./node_modules/node-fetch/lib/index.js
Module not found: Can't resolve 'encoding' in 'C:\Users\User\Desktop\mysite\node_modules\node-fetch\lib'

./node_modules/mongodb/lib/operations/connect.js
Module not found: Can't resolve 'mongodb-client-encryption' in 'C:\Users\User\Desktop\mysite\node_modules\mongodb\lib\operations'

./node_modules/node-pre-gyp/lib/util/compile.js
Module not found: Can't resolve 'node-gyp' in 'C:\Users\User\Desktop\mysite\node_modules\node-pre-gyp\lib\util'

./node_modules/node-pre-gyp/lib/util/compile.js
Module not found: Can't resolve 'npm' in 'C:\Users\User\Desktop\mysite\node_modules\node-pre-gyp\lib\util'

./node_modules/node-pre-gyp/lib/util/nw-pre-gyp/index.html 1:0        
Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
> <!doctype html>
| <html>
| <head>


> Build error occurred
Error: package.json does not exist at C:\package.json
    at Object.module.exports.wr/F.exports.find (C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:188263:15)
    at Object.<anonymous> (C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:154078:28)
    at Object.paWE (C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:154141:30)
    at __webpack_require__ (C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:23:31)
    at Object.xDbK (C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:189175:64)
    at __webpack_require__ (C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:23:31)
    at Object.gL7F (C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:123042:67)
    at __webpack_require__ (C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:23:31)
    at Module.IlR1 (C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:53618:12)
    at __webpack_require__ (C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:23:31)
    at Module.ScIc (C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:81256:17)
    at __webpack_require__ (C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:23:31)
    at C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:91:18
    at Object.<anonymous> (C:\Users\User\Desktop\mysite\.next\serverless\pages\_error.js:94:10)
    at Module._compile (internal/modules/cjs/loader.js:1133:30)       
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
info  - Collecting page data .npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! client@0.1.0 build: `next build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the client@0.1.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\User\AppData\Roaming\npm-cache\_logs\2020-09-12T19_38_11_418Z-debug.log

这个错误是什么意思?

Error: package.json does not exist at C:\package.json

那么所有Module not found: Can't resolve 错误呢?

编辑:
我在项目文件夹中有package.json
当我运行npm run dev 时,它工作得很好。
我不知道他为什么抱怨C:\package.json
(项目不在C:\下,而是C:\Users\User\Desktop\mysite下)

【问题讨论】:

  • 在 serverless.yml 中将组件更改为 "@sls-next/serverless-component"
  • 请再次尝试检查模块导入路径。在指定模块名称时,可能是导入路径中的错误,例如前面的 /。

标签: javascript next.js


【解决方案1】:

当您 npm run 时,它将运行目录中 package.json 的 script 部分中的任何内容,但由于某种原因,它在这里被调用。我认为有两种可能。

1/您当前的 package.json 以某种方式查找 C:\package.json 并发生错误

2/由于某种原因,您的 npm 缓存包含 C:\package.json 尝试 npm cache cleannpm cache clean --force

【讨论】:

    【解决方案2】:

    我想当你读到这篇文章时:

    npm ERR! This is probably not a problem with npm.
    

    可能不依赖于 Npm 或 nodejs。我想这个文件夹中缺少一些模块:

    ./node_modules/node-fetch/lib/index.js
    Module not found: Can't resolve 'encoding' in 
    'C:\Users\User\Desktop\mysite\node_modules\node-fetch\lib'
    
    ./node_modules/mongodb/lib/operations/connect.js
    Module not found: Can't resolve 'mongodb-client-encryption' in 
    'C:\Users\User\Desktop\mysite\node_modules\mongodb\lib\operations'
    
    ./node_modules/node-pre-gyp/lib/util/compile.js
    Module not found: Can't resolve 'node-gyp' in 
    'C:\Users\User\Desktop\mysite\node_modules\node-pre-gyp\lib\util'
    
    ./node_modules/node-pre-gyp/lib/util/compile.js
    Module not found: Can't resolve 'npm' in 
    'C:\Users\User\Desktop\mysite\node_modules\node-pre-gyp\lib\util'
    

    我建议在控制台写:

    npm install encoding -g
    npm install mongodb-client-encryption -g
    npm install node-gyp -g
    npm install npm@latest -g
    

    将文件夹更改为“C:\Users\User\Desktop\mysite”,然后输入:

    npm install encoding --save
    npm install mongodb-client-encryption --save
    npm install node-gyp --save
    npm install npm@latest --save
    

    还有一件事,你做了“npm init”吗?初始化你的文件夹然后编辑它。

    【讨论】:

      【解决方案3】:

      我是这个错误,我的解决方法是:

      首先,在packege.json文件的section scripts中,我们必须修改属性“build”:“next build && next export”,以及一个新属性“export”:“next export”

      其次,我们要在项目根目录下建立组件和数据文件夹

      第三:使用命令:npm dev build 给你和名为“out”的文件夹

      package.json out folder

      【讨论】:

        猜你喜欢
        • 2020-09-14
        • 2020-11-28
        • 2021-03-26
        • 2020-04-23
        • 2020-09-02
        • 2018-09-19
        • 2019-04-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多