繁体   English   中英

Next.js - `npm run build` 失败

[英]Next.js - `npm run build` failed

尝试使用target: 'serverless' next.config.js target: 'serverless' in next.config.js构建我的应用程序(为了在 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 resolveModule not found: Can't resolveModule not found: Can't resolve错误?

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

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

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

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

我想当你读到这个的时候:

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”吗? 要初始化您的文件夹,然后对其进行编辑。

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

首先,在packege.json文件中,在脚本部分,我们必须修改属性“build”:“next build && next export”,并添加一个新的属性“export”:“next export”

其次,我们必须在项目的根目录中建立组件和数据文件夹。

第三:使用命令:npm dev build。 这为您提供了一个名为“out”的文件夹。

package.json输出文件夹

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM