create-react-app无法正常工作

时间:2017-07-01 12:24:37

标签: macos reactjs npm create-react-app

我很反应(一天前开始)。我使用create-react-app命令行来创建应用程序。以下是我的订单

  • create-react-app my-app
  • npm start

现在app正在运行。

  • npm install youtube-api-search
  • npm start

现在我收到此错误

  

my-app@0.1.0 start / Users / shanmugharajk / Code / udemy / my-app   react-scripts启动

     

sh:react-scripts:命令找不到npm ERR!文件sh npm ERR!码   ELIFECYCLE npm ERR! errno ENOENT npm ERR!系统调用生成npm ERR!   my-app@0.1.0 start:react-scripts start npm ERR!产生ENOENT npm   呃!错误的ERR!在my-app@0.1.0启动脚本失败。错误的ERR!这个   npm可能不是问题。可能还有其他日志记录   以上输出。

我尝试安装的任何软件包每次都会发生这种情况。

我注意到的一个是我跑的时候

  • npm安装youtube-api-search或任何pckage它总是删除一些包。我在安装任何软件包时收到的消息是
  

npm WARN注册表使用https://registry.npmjs.org/中的陈旧数据   因为主机无法访问 - 您是否离线? npm WARN注册表   https://registry.npmjs.org/的意外警告:杂项   警告ENOTFOUND:对https://registry.npmjs.org/redux的请求失败,   原因:getaddrinfo ENOTFOUND registry.npmjs.org   registry.npmjs.org:443 npm WARN注册表使用来自的陈旧包数据   由于期间的请求错误导致https://registry.npmjs.org/   重新验证。紧急警告,请不要删除   /Users/shanmugharajk/Code/udemy/my-app/node_modules/html-minifier/node_modules/.bin/uglifyjs   因为它没有被安装   /用户/ shanmugharajk /代码/ udemy /我的应用程序内/ node_modules / HTML的minifier / node_modules /丑化,JS   紧急警告,请不要删除   /Users/shanmugharajk/Code/udemy/my-app/node_modules/espree/node_modules/.bin/acorn   因为它没有被安装   /用户/ shanmugharajk /代码/ udemy /我的应用程序内/ node_modules / espree / node_modules /橡子   紧急警告,请不要删除   /Users/shanmugharajk/Code/udemy/my-app/node_modules/autoprefixer/node_modules/.bin/browserslist   因为它没有被安装   /用户/ shanmugharajk /代码/ udemy /我的应用程序内/ node_modules / autoprefixer / node_modules / browserslist   npm notice创建了一个lockfile作为package-lock.json。你应该承诺   这个文件。   + redux@3.7.1添加了3个软件包,删除了1142个软件包,并在27.043s中更新了3个软件包

我无法弄清楚原因。请帮帮我。

4 个答案:

答案 0 :(得分:7)

你正在使用npm 5.目前它有很多问题。

我建议降级到npm 4并再试一次:

npm install -g npm@4

rm -rf node_modules
rm package-lock.json
npm install

如果它没有帮助检查您的互联网连接。 这看起来像您的网络问题:

  

getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443

答案 1 :(得分:3)

我得到了答案,因为我在我的机器上安装了yarn和npm,create-react-app使用yarn并安装所有依赖项并创建yarn.lock文件。

所以现在当我运行npm install时,它会查找package.lock.json,它不会在那里。所以它在创建项目时卸载了一些由yarn创建的包。

所以我找到的解决方案是执行以下任何一项

  
      
  • create-react-app my-app
  •   
  • npm install
  •   
  • 然后安装npm install -package -
  •   

  
      
  • create-react-app my-app
  •   
  • 纱线安装 - 包装 -
  •   

这种方法现在都适用于我。

答案 2 :(得分:0)

运行React应用程序的基本要求是:

 nodejs  
 npm

如果未安装,则安装(特别是对于Ubuntu)

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm

要创建react js应用程序:

npx create-react-app my-DemoApp

A 在以下位置进入文件夹:

cd my-DemoApp

您可以看到由此创建的基本文件夹结构

my-DemoApp
├── README.md
├── package.json
├── .gitignore
├── public
│   ├── favicon.ico
│   ├── index.html
│   └── manifest.json
└── src
    ├── App.css
    ├── App.js
    ├── App.test.js
    ├── index.css
    ├── index.js
    ├── logo.svg
    └── serviceWorker.js

然后通过运行以下命令添加react应用所需的基本依赖项:

npm install

这将在您的父文件夹中创建一个名为node_modules的新文件夹

您现在可以通过以下方式运行应用程序:

npm start

现在您已经完成了大多数基本设置,现在您的应用已经准备就绪。

您还可以通过npm

添加更多对于应用程序必不可少的库

答案 3 :(得分:0)

npm install -g npm

然后再次安装create react app:

npm install -g create-react-app

然后再次创建项目