簡體   English   中英

嘗試並發運行(npm ERR!代碼 ELIFECYCLE npm ERR!)

[英]Trying to run concurrently (npm ERR! code ELIFECYCLE npm ERR!)

我正在嘗試創建一個從 API 獲取數據的全棧節點和 Vue 應用程序。 我遇到了一個問題,我試圖同時運行客戶端和服務器,但代碼遇到錯誤。 如果我對這個問題的結構有誤,請多多包涵,因為我對編碼還很陌生!

這是以下錯誤日志:

[0] Error occurred when executing command: npm run server
[0] Error: spawn cmd.exe ENOENT
[0]     at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
[0]     at onErrorNT (internal/child_process.js:469:16)
[0]     at processTicksAndRejections (internal/process/task_queues.js:84:21)     
[1] Error occurred when executing command: npm run client
[1] Error: spawn cmd.exe ENOENT
[1]     at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
[1]     at onErrorNT (internal/child_process.js:469:16)
[1]     at processTicksAndRejections (internal/process/task_queues.js:84:21)
[1] npm run client exited with code -4058
[0] npm run server exited with code -4058
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! apex-tracker@1.0.0 dev: `concurrently "npm run server" "npm run client"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the apex-tracker@1.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

據我所知,程序運行良好,直到它到達我的 package.json 中的“dev”腳本:

{
  "name": "apex-tracker",
  "version": "1.0.0",
  "description": "Apex Legends user statistics tracker",
  "main": "server.js",
  "scripts": {
    "start": "node server",
    "server": "nodemon server",
    "client": "npm run serve --prefix client",
    "dev": "concurrently \"npm run server\" \"npm run client\""
  },
  "author": "Jared Mackay",
  "license": "MIT",
  "dependencies": {
    "concurrently": "^5.0.1",
    "dotenv": "^8.2.0",
    "express": "^4.17.1",
    "morgan": "^1.9.1",
    "node-fetch": "^2.6.0"
  },
  "devDependencies": {
    "nodemon": "^2.0.2"
  }
}

在出現錯誤之前,當我運行npm run server command時程序運行良好,但是在安裝客戶端文件夾並添加客戶端和開發腳本時,我遇到了錯誤。

這是我試圖與客戶端一起運行的 server.js:

const express = require('express');
const morgan = require('morgan');
const dotenv = require('dotenv');

//Load configuration file
dotenv.config({ path: './config.env' })

const app = express();

//Develper logging
if (process.env.NODE_ENV === 'development') {
    app.use(morgan('dev'));
}

//Profile routes
app.use('/api/v1/profile', require('./routes/profile'));

const port=process.env.PORT || 8000;

app.listen(port, () => {
    console.log(`Server running on ${process.env.NODE_ENV} mode on port ${port}`);
});

我嘗試清除 npm 緩存,刪除並重新安裝node-modules以及package-lock.json ,但這會產生更多問題而不是修復它們。 我不得不恢復到舊的 git commit,現在我被卡住了。

我不認為這個路由 .js 文件是一個問題,但這里只是為了防止 profile.js:

const express = require('express');
const router = express.Router();
const fetch = require('node-fetch');

router.get('/:platform/:gamertag', async (req, res) => {
    try {
        const headers  = {
            'TRN-Api-Key': process.env.TRACKER_API_KEY
        }

        const { platform, gamertag } = req.params;

        const response = await fetch(
            `${process.env.TRACKER_API_URL}/profile/${platform}/${gamertag}`, 
            {
                headers
            }
        );

        const data = await response.json();

        if(data.errors && data.errors.length > 0) {
            return res.status(404).json({
                message: 'Profile Not Found'
            });

        }

        res.json(data);
    }   catch (err) {
        console.error(err);
        res.status(500).json({
            message: 'Server Error'
        });
    }
});

module.exports = router;

先感謝您!

spawn cmd.exe ENOENT

您的程序不知道在哪里可以找到cmd.exe

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM