react-scripts:找不到命令

时间:2017-12-02 21:03:49

标签: reactjs

我目前正在尝试使用create-react-app,它使用了我理解的三种不同的包,反应脚本和反应。我已经安装了create-react-app然后当我更改到目录并点击npm start时,我得到一个react-scripts:命令未找到。我遇到了很多问题。我可以看到react-scripts在我的node_modules文件夹中,但在尝试设置npm start时无法继续获取命令。我试图删除并重新安装我的所有node_modules,但仍然无法正常工作。其他人有这个问题吗?

 ✘ ✝  Node/toDoApp/my-test   master±  npm start

> my-test@0.1.0 start /Users/jzilch/Desktop/Web 
Projects/Node:Express/Node/toDoApp/my-test
> react-scripts start

sh: react-scripts: command not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! my-test@0.1.0 start: `react-scripts start`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the my-test@0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely 
additional logging output above.

9 个答案:

答案 0 :(得分:7)

首先删除项目文件夹中的([^ ]+)文件。

然后再按package-lock.json安装依赖项。那应该解决这个问题。

答案 1 :(得分:2)

这通常是因为npm软件包安装错误。它可能是绝望,但如果你尝试这些步骤,它应该工作。

第一个解决方案:

在项目的根文件夹中,运行

> npm install
> yarn run start

第二个解决方案:

在项目的根文件夹中,运行

> yarn upgrade
> yarn
> yarn run start

下次你想使用create-react-app添加依赖项时,我建议你使用' yarn add'而不是'npm install'。 (来源:https://github.com/facebook/create-react-app/issues/1155

答案 2 :(得分:2)

在使用ul { list-style-type: none; } 时,我不得不运行yarn

答案 3 :(得分:1)

我也遇到过这个问题。解决这个问题,删除你的

  

node_modules
  yarn.lock
  manifest_lock.json

它有效。

答案 4 :(得分:1)

1。删除node_modules,package-lock.json

用于删除node_modules的命令:

rm -rf node_modules

2.install react-scripts版本1.1.1

用于安装react-scripts的命令:

npm install react-scripts@1.1.1

3。npm install

4。现在运行服务器即可正常工作。

注意:如果您是Linux用户,请不要忘记在npm之前使用sudo

答案 5 :(得分:1)

一种选择是使用react-scripts标志在全局安装-g软件包。无论工作目录是什么,这都将使该命令可用于节点。

此命令将在全局安装react-scripts

npm install -g react-scripts

答案 6 :(得分:0)

我在dockerizer环境中使用它。 我已经使用package.json在node_modules中本地安装了。

所以,我添加了这个:

RUN npm install -g react-scripts
RUN npm install

那解决了我困惑的问题

答案 7 :(得分:0)

我通过从

更改本地系统中的文件夹名称来修复它
$('.input_Entry_Exit').on('keydown', function(evt){
    _evt = evt;
    model.attr('.entry-label/visibility', 'visible');
    model.attr('.entry-label/text', 'Top label in cell');
});

new/landing

但是,git分支名称仍然像“ new / landing”。我的MAC系统就是这种情况。

答案 8 :(得分:0)

我这个问题已经存在了很长时间,最终我偶然找到了解决方案。
事实证明,任何文件夹名称中都不能包含空格

例如 ~/projects/tutorial/ReactJS/JavaScript Framework: ReactJS/app-name 无法使用,因为JavaScript Framework: ReactJS包含空格。
通常,无论如何都不要在文件夹/文件名中使用空格,这不是一个好习惯,但我希望这可以使某人节省至少4个小时的反复试验。

我也建议从您的文件夹名称中删除:! (为了安全起见)