Pertanyaan Bekerja di Sekitar atau Perbaiki untuk NPM lite-server pada kesalahan Linux ketika menjalankan Angular 2 Quick Start


Saya tidak dapat memulai server lite 2.1.0 menggunakan npm pada Ubuntu 14.04. Saya mencoba menjalankan contoh Mulai Cepat Angular2.

Masalah ini mungkin khusus untuk Linux dan hanya mulai terjadi setelah pembaruan baru-baru ini ke Ubuntu. Saya dapat menjalankan Start Cepat Angular2 dengan sukses di Windows 8.1. Saya telah mencoba berbagai versi NPM dan Node yang berbeda tanpa ada perubahan dalam hasil saya. Menjalankan contoh Angular Heroes juga gagal dengan masalah yang sama.

Setiap solusi atau pekerjaan sementara akan sangat dihargai.

Setelah berhasil memasukkan typescript ke javascript, berikut adalah hasil dari mencoba untuk memulai lite-server melalui npm:

npm run lite

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

Error: watch node_modules/insight/node_modules/lodash/internal/baseForOwnRight.js ENOSPC
    at exports._errnoException (util.js:856:11)
    at FSWatcher.start (fs.js:1313:19)
    at Object.fs.watch (fs.js:1341:11)
    at createFsWatchInstance (/tf/sbtf/ang2-reg/node_modules/chokidar/lib/nodefs-handler.js:37:15)
    at setFsWatchListener (/tf/sbtf/ang2-reg/node_modules/chokidar/lib/nodefs-handler.js:80:15)
    at FSWatcher.NodeFsHandler._watchWithNodeFs (/tf/sbtf/ang2-reg/node_modules/chokidar/lib/nodefs-handler.js:228:14)
    at FSWatcher.NodeFsHandler._handleFile (/tf/sbtf/ang2-reg/node_modules/chokidar/lib/nodefs-handler.js:255:21)
    at FSWatcher.<anonymous> (/tf/sbtf/ang2-reg/node_modules/chokidar/lib/nodefs-handler.js:473:21)
    at FSReqWrap.oncomplete (fs.js:82:15)

npm ERR! Linux 3.19.0-49-generic
npm ERR! argv "/tf/node/bin/node" "/tf/node/bin/npm" "run" "lite"
npm ERR! node v5.6.0
npm ERR! npm  v3.7.2
npm ERR! code ELIFECYCLE
npm ERR! ang2-reg@1.0.0 lite: `lite-server`
npm ERR! Exit status 1

Ini paketnya.json. Saya melakukan upgrade lite-server ke 2.1.0 untuk melihat apakah itu akan membantu, tetapi tidak.

{
  "name": "ang2-reg",
  "version": "1.0.0",
  "scripts": {
    "postinstall": "npm run typings install",
    "tsc": "tsc",
    "tsc:w": "tsc -w",
    "lite": "lite-server",
    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" ",
    "typings" : "typings"
  },
 "license": "ISC",
 "dependencies": {
    "angular2": "2.0.0-beta.6",
    "bootstrap": "^3.3.6",
    "systemjs": "0.19.20",
    "es6-promise": "^3.0.2",
    "es6-shim": "^0.33.3",
    "reflect-metadata": "0.1.2",
    "rxjs": "5.0.0-beta.0",
    "systemjs": "0.19.17",
    "zone.js": "0.5.14"
  },
  "devDependencies": {
    "concurrently": "^1.0.0",
    "lite-server": "^2.1.0",
    "typescript": "^1.8.0",
    "typings":"^0.6.8"
  }
}

Berikut adalah konfigurasi naskah:

{
  "compilerOptions": {
    "target": "es5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude": [
    "node_modules",
    "typings/main",
    "typings/main.d.ts"
  ]
}

Inilah bagian pesan kesalahan dari npm-debug.log:

10 verbose lifecycle ang2-reg@1.0.0~lite: CWD: /tf/sbtf/ang2-reg
11 silly lifecycle ang2-reg@1.0.0~lite: Args: [ '-c', 'lite-server' ]
12 silly lifecycle ang2-reg@1.0.0~lite: Returned: code: 1  signal: null
13 info lifecycle ang2-reg@1.0.0~lite: Failed to exec lite script
14 verbose stack Error: ang2-reg@1.0.0 lite: `lite-server`
14 verbose stack Exit status 1
14 verbose stack     at EventEmitter.<anonymous>
 (/tf/node/lib/node_modules/npm/lib/utils/lifecycle.js:239:16)
14 verbose stack     at emitTwo (events.js:100:13)
14 verbose stack     at EventEmitter.emit (events.js:185:7)
14 verbose stack     at ChildProcess.<anonymous> 
 (/tf/node/lib/node_modules/npm/lib/utils/spawn.js:24:14)
14 verbose stack     at emitTwo (events.js:100:13)
14 verbose stack     at ChildProcess.emit (events.js:185:7)
14 verbose stack     at maybeClose (internal/child_process.js:827:16)
14 verbose stack     at Process.ChildProcess._handle.onexit
 (internal/child_process.js:211:5)
15 verbose pkgid ang2-reg@1.0.0
16 verbose cwd /tf/sbtf/ang2-reg
17 error Linux 3.19.0-49-generic
18 error argv "/tf/node/bin/node" "/tf/node/bin/npm" "run" "lite"
19 error node v5.6.0
20 error npm  v3.7.2
21 error code ELIFECYCLE
22 error ang2-reg@1.0.0 lite: `lite-server`
22 error Exit status 1

6
2018-02-19 19:03


asal


Jawaban:


Saya memiliki kesalahan yang sama dan saya bisa menyelesaikannya di ubuntu dengan langkah-langkah selanjutnya:

Edit file /etc/sysctl.conf dan tambahkan baris berikutnya:

fs.inotify.max_user_watches = 524288

Simpan file dan ketik:

sudo sysctl -p

Dan coba lagi jalankan npm start. :)


10
2018-02-25 03:46



Jika Anda mencari solusi, tujuannya adalah menggunakan versi 4.x dari NodeJS.

Hapus NodeJS 5.x

sudo apt-get remove nodejs

Edit daftar sumber untuk mengaktifkan simpul 4.x di repo

sudo nano /etc/apt/sources.list.d/nodesource.list

Kemudian di file edit kedua baris:

deb https://deb.nodesource.com/node_5.x vivid main
deb-src https://deb.nodesource.com/node_5.x vivid main

Untuk

deb https://deb.nodesource.com/node_4.x vivid main
deb-src https://deb.nodesource.com/node_4.x vivid main

Perbarui repos lagi

sudo apt-get update

Dan pasang kembali simpul

sudo apt-get install -y nodejs

Periksa versi yang harus wrtite sesuatu seperti v4.3.1 atau v4.x.x

node -v

Sekarang Anda dapat menjalankan quickstart sudut dengan:

npm start

Semoga bermanfaat.

EDIT: Setelah menginstal versi 4.x dari NodeJS

Di folder tempat Anda memiliki aplikasi:

$ rm -r node_modules

Lalu

npm install

Terlihat bodoh, tetapi ketika Anda menjalankan npm menginstalnya harus mengkompilasi modul tertentu, dan mungkin (saya tidak tahu) cara kompilasi mereka berubah dengan versi NodeJS.


1
2018-02-21 19:02