" sh:1:react-scripts:not found"在Docker

时间:2018-06-19 04:09:25

标签: reactjs docker

我有一个Docker容器无法为在构建时克隆到容器中的react.js应用程序执行npm安装。有人知道如何解决这个问题吗?

错误:

sh: 1: react-scripts: not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! myrideweb@0.1.0 build: `react-scripts build`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the myrideweb@0.1.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-06-19T04_00_09_065Z-debug.log

Dockerfile:

FROM ubuntu

Run apt-get update

Run apt-get install curl -y

Run curl -sL https://deb.nodesource.com/setup_10.x

Run apt-get install -y nodejs

Run apt-get install -y git

Run apt-get install npm -y

Run apt-get update -y

Run git clone https://github.com/sdrafahl/TerraWeb.git

WORKDIR /TerraWeb

Run npm install -g --save npm@latest

...

4 个答案:

答案 0 :(得分:1)

我有一个类似的问题,并且我设法通过更改来解决:

"start: "react-scripts start"

收件人:

"start: "./node_modules/.bin/react-scripts start"

scripts部分package.json中。

我使用经典的节点基本映像,但它应该或多或少都一样。
而且我仍在调查为什么NPM在Docker中运行时无法解析react-scripts,非常欢迎任何进一步的帮助:-)

答案 1 :(得分:0)

当在package.json文件的'devDependencies'下列出'react-scripts'时,这发生在我身上。将其移至“依赖项”部分即可解决此问题。

答案 2 :(得分:0)

在构建容器之前删除 package-lock.json 并使用 npm install 重新安装软件包为我解决了这个问题。

答案 3 :(得分:0)

我在 react-scripts@4.0.1 遇到了这个问题。我卸载并重新安装,这似乎奏效了。

  1. npm uninstall react-scripts
  2. npm install -D react-scripts