Docker - /bin/sh: nodemon: 未找到
Docker - /bin/sh: nodemon: not found
我有以下 docker 文件。
#Dockerfile
FROM node:alpine
WORKDIR /backend
COPY package*.json .
RUN yarn
COPY . .
EXPOSE 5000
CMD ["yarn", "dev"]
Nodemon 在主机上按预期工作,但在 运行 容器时显示以下错误消息。
yarn run v1.22.5
$ nodemon
/bin/sh: nodemon: not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Nodemon 未全局安装在主机中。在 Dockerfile 上添加 RUN yarn add global nodemon
只会在容器错误中添加一个额外的 warning ../package.json: No license field
。
我目前有以下 package.json 文件,其中包含以下开发依赖项
# package.json
...
"scripts": {
"build": "tsc -p .",
"start": "node ./dist/src/index.js",
"dev": "nodemon",
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"@types/express": "^4.17.11",
"@types/node": "^14.14.34",
"nodemon": "^2.0.7",
"ts-node": "^9.1.1",
"typescript": "^4.2.3"
},
...
和nodemon.json作为
{
"watch": [
"src"
],
"ext": "ts,json",
"ignore": [
"src/**/*.spec.ts"
],
"exec": "yarn ts-node src/index.ts"
}
试试下面的方法,
#Dockerfile
FROM node:alpine
WORKDIR /backend
COPY package*.json .
RUN yarn
RUN yarn add global nodemon
COPY . .
EXPOSE 5000
CMD ["yarn", "dev"]
旁注:您最好不要在生产中使用 nodemon
。像在 start
脚本中一样提供构建文件。您必须在 yarn start 之前添加构建命令。
#Dockerfile
FROM node:alpine
WORKDIR /backend
COPY package*.json .
RUN yarn
COPY . .
RUN yarn run build
EXPOSE 5000
CMD ["yarn", "start"]
我有以下 docker 文件。
#Dockerfile
FROM node:alpine
WORKDIR /backend
COPY package*.json .
RUN yarn
COPY . .
EXPOSE 5000
CMD ["yarn", "dev"]
Nodemon 在主机上按预期工作,但在 运行 容器时显示以下错误消息。
yarn run v1.22.5
$ nodemon
/bin/sh: nodemon: not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Nodemon 未全局安装在主机中。在 Dockerfile 上添加 RUN yarn add global nodemon
只会在容器错误中添加一个额外的 warning ../package.json: No license field
。
我目前有以下 package.json 文件,其中包含以下开发依赖项
# package.json
...
"scripts": {
"build": "tsc -p .",
"start": "node ./dist/src/index.js",
"dev": "nodemon",
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"@types/express": "^4.17.11",
"@types/node": "^14.14.34",
"nodemon": "^2.0.7",
"ts-node": "^9.1.1",
"typescript": "^4.2.3"
},
...
和nodemon.json作为
{
"watch": [
"src"
],
"ext": "ts,json",
"ignore": [
"src/**/*.spec.ts"
],
"exec": "yarn ts-node src/index.ts"
}
试试下面的方法,
#Dockerfile
FROM node:alpine
WORKDIR /backend
COPY package*.json .
RUN yarn
RUN yarn add global nodemon
COPY . .
EXPOSE 5000
CMD ["yarn", "dev"]
旁注:您最好不要在生产中使用 nodemon
。像在 start
脚本中一样提供构建文件。您必须在 yarn start 之前添加构建命令。
#Dockerfile
FROM node:alpine
WORKDIR /backend
COPY package*.json .
RUN yarn
COPY . .
RUN yarn run build
EXPOSE 5000
CMD ["yarn", "start"]