npm lỗi bắt đầu với ứng dụng tạo


84

Tôi có một dự án mà tôi đã không đụng đến trong 2 tuần. Tôi lấy lại nó và bây giờ khi tôi cố gắng chạy, npm starttôi đã gặp lỗi này.

> react-scripts start

sh: react-scripts: command not found

npm ERR! Darwin 16.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v6.7.0
npm ERR! npm  v3.10.3
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! UpScore@0.6.0 start: `react-scripts start`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the UpScore@0.6.0 start script 'react-scripts start'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the UpScore package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     react-scripts start
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs UpScore
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls UpScore
npm ERR! There is likely additional logging output above.
  • nút 6.7.0
  • npm 3.10.3
  • mac sierra 10.12

package.json

{
  "name": "UpScore",
  "version": "0.6.0",
  "private": true,
  "devDependencies": {
    "react-addons-test-utils": "^15.3.1",
    "react-scripts": "0.4.1",
    "react-test-renderer": "^15.3.1",
    "redux-logger": "^2.6.1"
  },
  "dependencies": {
    "@yoshokatana/medium-button": "^1.1.0",
    "axios": "^0.14.0",
    "bcrypt": "^0.8.7",
    "bcrypt-nodejs": "0.0.3",
    "bcryptjs": "^2.3.0",
    "body-parser": "^1.15.2",
    "connect-flash": "^0.1.1",
    "cookie-parser": "^1.4.3",
    "draft-js": "^0.8.1",
    "draft-js-editor": "^1.7.2",
    "draft-js-export-html": "^0.4.0",
    "ejs": "^2.5.2",
    "email-verification": "^0.4.5",
    "express": "^4.14.0",
    "express-session": "^1.14.1",
    "flexboxgrid": "^6.3.1",
    "highlight.js": "^9.6.0",
    "immutable": "^3.8.1",
    "katex": "^0.6.0",
    "lodash": "^4.15.0",
    "markdown-it-mathjax": "^1.0.3",
    "material-ui": "^0.15.4",
    "medium-editor": "^5.22.0",
    "minutes-seconds-milliseconds": "^1.0.3",
    "moment": "^2.15.0",
    "moment-duration-format": "^1.3.0",
    "mongod": "^1.3.0",
    "mongodb": "^2.2.9",
    "mongoose": "^4.6.0",
    "monk": "^3.1.2",
    "morgan": "^1.7.0",
    "normalize.css": "^3.0.3",
    "passport": "^0.3.2",
    "passport-local": "^1.0.0",
    "react": "^15.3.1",
    "react-dom": "^15.3.1",
    "react-markdown": "^2.4.2",
    "react-medium-editor": "^1.8.1",
    "react-redux": "^4.4.5",
    "react-redux-form": "^0.14.5",
    "react-rich-markdown": "^1.0.1",
    "react-router": "^2.7.0",
    "react-router-redux": "^4.0.5",
    "react-tap-event-plugin": "^1.0.0",
    "react-tinymce": "^0.5.1",
    "redux": "^3.6.0",
    "redux-form": "^6.0.5",
    "redux-form-material-ui": "^4.0.1",
    "redux-promise-middleware": "^4.0.0",
    "redux-thunk": "^2.1.0",
    "reselect": "^2.5.3",
    "screenfull": "^3.0.2"
  },
  "scripts": {
    "start": "react-scripts start",
    "start:prod": "pushstate-server build",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject",
    "server": "cd client/api && pm2 start server.js --watch",
    "proxy": "http://128.199.139.144:3000"
  },
  "eslintConfig": {
    "extends": "./node_modules/react-scripts/config/eslint.js"
  }
}

Tôi cũng cố gắng sao chép các repo của mình và gặp lỗi tương tự. Nếu ai đó có thể cho tôi một số cách để tìm những gì xảy ra. Cảm ơn bạn


3
Bạn đã thử xóa của mình node_modulesvà chạy npm installlại chưa?
Nitsew

1
Có, tôi dọn dẹp node_modules và cài đặt npm. Tôi không gặp lỗi trong cài đặt npm.
EQuimper

Tôi đã sử dụng lệnh nàyrm -rf node_modules/ && npm cache clean && npm install
EQuimper 10/10/16

bạn có thể chỉ cho chúng tôi npm startlệnh của bạn ?
Regive Pitis

Tôi đã thêm tệp package.json
EQuimper

Câu trả lời:


219

Tác giả của Tạo ứng dụng React đăng ký.

Bạn hoàn toàn không nên cài đặt react-scriptstrên toàn cầu.
Bạn cũng không cần ./node_modules/react-scripts/bin/trong package.jsonkhi câu trả lời này ngụ ý.

Nếu bạn thấy điều này:

npm ERR! UpScore@0.6.0 start: `react-scripts start`
npm ERR! spawn ENOENT

Nó chỉ có nghĩa là đã xảy ra lỗi khi các phụ thuộc được cài đặt lần đầu tiên.

Tôi khuyên bạn nên thực hiện ba bước sau:

  1. npm install -g npm@latest để cập nhật npm vì nó đôi khi bị lỗi.
  2. rm -rf node_modules để loại bỏ các mô-đun hiện có.
  3. npm install để cài đặt lại các phụ thuộc của dự án.

Điều này sẽ khắc phục sự cố.
Nếu không, vui lòng gửi sự cố bằng liên kết đến dự án của bạn và các phiên bản Node và npm.


Điều đó đã không làm việc cho tôi. npm v3.3.1; nút v6.9.1. Tôi đang sử dụng Windows và sự cố này bắt đầu xảy ra sau khi tôi thực hiện khôi phục hệ thống để quay lại một vài tuần để khắc phục sự cố khác.
MartinDuo

2
PS: Đang chạy các bước của bạn thì gặp lỗi này. 'rm' không được nhận dạng là lệnh nội bộ hoặc lệnh bên ngoài. Tôi nghĩ rằng việc khôi phục hệ thống đã loại bỏ thứ gì đó cần thiết để chạy các lệnh nút này, nhưng tôi không có manh mối.
MartinDuo

PPS Tôi đã xóa thủ công thư mục node_modules và chạy cài đặt npm. Bây giờ nó hoạt động! Cảm ơn vì manh mối về việc thay thế node_modules.
MartinDuo

1
Điều đó vẫn không hiệu quả với tôi !! Trên thực tế, nó không thành công khi tôi triển khai trên Heroku!
aman_novice

Này @ dan-abromov thì sao về lỗi tương tự trong bitbucket CI, bạn có đề xuất gì để khắc phục lỗi đó không?
Necmttn

12

Có vẻ như bạn không có react-scriptstrong môi trường toàn cầu của mình. Hai khả năng có sẵn ở đây:

npm install -g react-scripts

hoặc trong package.json của bạn thay đổi phần tập lệnh của bạn như sau:

  "scripts": {
    "start": "./node_modules/react-scripts/bin/react-scripts.js start",
    "start:prod": "pushstate-server build",
    "build": "./node_modules/react-scripts/bin/react-scripts.js build",
    "test": "./node_modules/react-scripts/bin/react-scripts.js test --env=jsdom",
    "eject": "./node_modules/react-scripts/bin/react-scripts.js eject",
    "server": "cd client/api && pm2 start server.js --watch",
    "proxy": "http://128.199.139.144:3000"
  },

Bây giờ tôi gặp sự cố với index.html, trông giống như tìm kiếm ứng dụng tạo trong dir công cộng? Nhưng trước đây tôi không bao giờ hiểu được điều đó.
EQuimper


16
Câu trả lời này là sai. Điều này có thể khắc phục sự cố, nhưng không phải là cách Tạo Ứng dụng React được dự định sử dụng.
Dan Abramov

8

Có, bạn không nên cài đặt React scripts trên toàn cầu, nó sẽ không hoạt động.

Tôi nghĩ rằng tôi đã không sử dụng --save khi lần đầu tiên tôi tạo dự án (trên một máy khác), vì vậy đối với tôi, điều này đã khắc phục sự cố:

npm install --save react react-dom react-scripts

Xin chào, cờ --save có khiến nó được cài đặt cục bộ chứ không phải trên toàn cầu?
người theo dõi cuộc sống

6

Điều này là để giúp những người hoàn toàn mới phản ứng và những người gặp sự cố khi chỉ khởi động ứng dụng đầu tiên mặc dù họ đã thực hiện cài đặt mới và thử sử dụng npm install và các bản sửa lỗi khác mà tôi đã thấy trên các diễn đàn.

Chạy nó trên Windows 10 với tất cả npm create-react-app mới nhất được cài đặt và gặp lỗi sau khi thất bại khi khởi động npm đơn giản trong một thư mục demo ứng dụng của tôi đơn giản.

Trải qua một thời gian dài với những gì trông giống với lỗi OP lúc đầu nhưng hơi khác một chút. Điều này bắt đầu với ERRNO 4058 và tiếp tục với mã 'ENOENT' syscall: 'spawn cmd', path: '' cmd '...

Cuối cùng, từ diễn đàn tạo-phản ứng-ứng dụng github, giải pháp nhanh chóng cho vấn đề này là đăng ký cmd trong biến "đường dẫn". Để thực hiện việc này, hãy chuyển đến Thuộc tính hệ thống> Biến môi trường. Nhấp vào chỉnh sửa biến đường dẫn và thêm mục mới của C: \ Windows \ System32. Khởi động lại lời nhắc CMD và tôi đã sẵn sàng.


Khi tất cả các bản sửa lỗi nâng cao của tôi không thành công, đây là vấn đề của tôi. Không biết làm thế nào mà nó không được đặt nhưng đây là vấn đề.
Dave Kanter

bản thân là người mới bắt đầu, bạn có thể cho biết lý do tại sao chúng tôi thêm đường dẫn windows system32. Có nghĩa là tôi có thể hiểu rõ hơn nếu chúng tôi đã thêm đường dẫn thư mục nút. Bạn có thể giải thích?
Yusuf

4

Như Dan đã nói chính xác,

Nếu bạn thấy điều này:

npm ERR! UpScore@0.6.0 start: `react-scripts start`
npm ERR! spawn ENOENT

Nó chỉ có nghĩa là đã xảy ra lỗi khi các phụ thuộc được cài đặt lần đầu tiên.

Nhưng tôi có một cái gì đó hơi khác vì chạy npm install -g npm@latestđể cập nhật npm đôi khi có thể để lại cho bạn lỗi này:

npm ERR! code ETARGET
npm ERR! notarget No matching version found for npm@lates
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.

vì vậy, thay vì chạy npm install -g npm@latest, tôi khuyên bạn nên chạy các bước dưới đây:

 npm i -g npm //which will also update npm
 rm -rf node_modules/ && npm cache clean // to remove the existing modules and clean the cache.
 npm install //to re-install the project dependencies.

Điều này sẽ giúp bạn trở lại đôi chân của mình.


4

Trong trường hợp bạn thật không may mắn như tôi đã dành ba (3) ngày liên tiếp để giải quyết vấn đề này, mọi giải pháp được đề xuất ở đây đều thất bại, tôi ... hãy tạo tệp .env trong thư mục gốc dự án của bạn và thêm mã này SKIP_PREFLIGHT_CHECK=true. Chúc may mắn


Tôi đoán bạn đã không may mắn vì một lý do. Câu trả lời của bạn đã giúp tôi rất nhiều.
Freduah Gideon

2

Đối với tôi, đơn giản là tôi đã không thêm vào react-scriptsdự án nên:

npm i -S react-scripts

Nếu điều này không hiệu quả, hãy rm node_modulestheo đề xuất của những người khác

rm -r node_modules
npm i

Điều này đã làm việc cho tôi. Tôi đã gặp lỗi trên một dự án phản ứng mới và dường như các tập lệnh phản ứng không được cài đặt tự động?
Nemo


2

Tôi đã phải đối mặt với vấn đề sau đây.

nhập mô tả hình ảnh ở đây

Hãy tìm giải pháp:

  1. Thêm "C: \ Windows \ System32" vào biến môi trường PATH toàn cục.

  2. Kiểm tra xem các biến môi trường đã được tạo cho nodejs, npm và trình soạn nhạc chưa . nếu không tạo một

nhập mô tả hình ảnh ở đây

  1. Chạy ứng dụng của bạn.

1

Tôi giải quyết vấn đề này bằng cách chạy lệnh sau

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

hy vọng nó giúp



1

Tôi đã gặp lỗi tương tự khi chạy

npm bắt đầu

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! protest-app@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the protest-app@0.1.0 start script.

Tôi đã gục đầu vào một số tab và áp dụng Giải pháp từ các nhà phát triển khác và không có gì cả.

Cho đến khi, ngay cả khi sử dụng Ubuntu, tôi đã đóng vscode của mình và khởi động lại máy tính của mình và mọi vấn đề của tôi đã được giải quyết. (kkkk zueira) chỉ cái này thôi.


1

nó đơn giản nhưng lần đầu tiên phải mất thời gian vài bước để thiết lập !!!

  1. bạn có phiên bản mới nhất trên nút.

  2. vào biến môi trường và thiết lập đường dẫn "%SystemRoot%\system32".

nhập mô tả hình ảnh ở đây

  1. chạy cmd ở chế độ quản trị viên.

  2. viết lệnh npm start.


1

thêm các biến môi trường trong windows

  1. C: \ WINDOWS \ System32
  2. C: \ Program Files \ nodejs
  3. C: \ Program Files \ nodejs \ node_modules \ npm \ bin
  4. C: \ WINDOWS \ System32 \ WindowsPowerShell \ v1.0
  5. C: \ Users {tên hệ thống của bạn không có dấu ngoặc nhọn} \ AppData \ Roaming \ npm

5 cái này phải trong đường dẫn.

và sử dụng phiên bản mới nhất của node.js



0

Điều này xảy ra khi node_modules không đồng bộ với package.json.

Chạy phần sau tại thư mục gốc và bất kỳ dịch vụ con / thư mục con nào có thể có thư mục node_modules trong đó.

rd node_modules /S /Q
npm install

0

Nó xảy ra với tôi nhưng không có điều nào ở trên hoạt động.

events.js:72
        throw er; // Unhandled 'error' event
              ^

npm ERR! UpScore@0.6.0 start: `react-scripts start`
npm ERR! spawn ENOENT

Error: spawn ENOENT
    at errnoException (child_process.js:1000:11)
    at Process.ChildProcess._handle.onexit (child_process.js:791:34)

Điều này xảy ra bởi vì bạn có thể đã cài đặt react-scripts trên toàn cầu.

Để làm cho công việc này ...

  1. Đi đến của bạn C:\Users\<USER>\AppData\Roaming
  2. Xóa các thư mục npm và npm-cache ... (đừng lo lắng, bạn có thể cài đặt npm trên toàn cầu sau này)
  3. Quay lại thư mục ứng dụng của bạn và xóa node_modules thư mục thư mục
  4. Bây giờ enter npm installđể cài đặt các phụ thuộc (xóa package-lock.json nếu nó đã được tạo)
  5. Bây giờ chạy npm install --save react react-dom react-scripts
  6. Bắt đầu với npm start

Điều này sẽ giúp bạn trở lại đúng hướng ... Happy Coding




0

Tôi đã tạo dự án phản ứng tại địa phương. Lý do xảy ra sự cố này (đối với tôi) là tôi đã không sử dụng sudotrước đây npmvà nó cần quyền truy cập root (

> sudo npm start

PS1 : Đối với người dùng windows, powershellhoặc command linenên được chạy với tư cách quản trị viên )

PS2 : Nếu sử dụng muốn giải quyết vấn đề truy cập root, bạn có thể xem bài đăng này .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.