簡體   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