Nodemon无法在Docker上的package.json中的npm脚本中工作

问题描述 投票:0回答:2

我正在Docker上使用NodeJS和Nodemon。当我尝试直接在docker compose文件中使用nodemon命令运行NodeJS应用程序时,它将运行。

像这样(正在工作):[docker-compose]

command: nodemon source/index.js

但是当我使用package.json中的脚本时,它不起作用

像这样(不起作用):[docker-compose]] >>

command: npm run dev

我的package.json文件在哪里

"scripts": {
    "start": "node source/index.js",
    "dev": "nodemon source/index.js"
  }

我尝试了不同的方法,当我只运行没有nodemon的启动脚本时,它就可以工作了

像这样(正在工作):[docker-compose

]
command: npm run start

但是当我尝试在其中的nodemon

命令中再次使用dev时,它不起作用。容器无法启动。我也尝试了以下方法,它也可以工作

像这样(正在工作):[docker-compose

]
command: nodemon --exec npm start

我还是不明白,为什么nodemon

命令在脚本dev中不起作用?

这是我的完整文件

docker-compose

version: '3.7'

services:

    node-service:

        image: node-img:1.0

        ports:
        - 4000:4000

        working_dir: "/node-dir"

        volumes:
        - ./node-dir/source:/node-dir/source

        networks:
            - ness-net

        command: npm run dev

networks:

    ness-net:

package.json

{
  "name": "node-pkg",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "start": "node source/index.js",
    "dev": "nodemon source/index.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.1"
  },
  "devDependencies": {
    "nodemon": "^1.19.4"
  }
}

我正在Docker上使用NodeJS和Nodemon。当我尝试直接在docker compose文件中使用nodemon命令运行我的NodeJS应用程序时,它将运行。像这样(工作):[docker-compose]命令:nodemon ...

node.js docker package.json nodemon npm-scripts
2个回答
0
投票

运行nodemon时,需要添加一个环境变量以指向npmC:\........\npm路径应如下所示,然后选择一个名称


0
投票

尝试此解决方案:

© www.soinside.com 2019 - 2024. All rights reserved.