6

Ubuntu 14.04 で npm を使用して lite-server 2.1.0 を起動できません。Angular2 クイック スタートの例を実行しようとしています。

この問題は Linux に固有のものである可能性があり、最近の Ubuntu の更新後にのみ発生し始めました。Windows 8.1 で Angular2 クイック スタートを正常に実行できました。NPM と Node のさまざまなバージョンを試しましたが、結果に変化はありませんでした。Angular Heroes の例を実行しても、同じ問題で失敗します。

解決策または一時的な回避策をいただければ幸いです。

typescript を javascript に正常にトランスパイルした後、npm 経由で lite-server を起動しようとした結果は次のとおりです。

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

これがpackage.jsonです。lite-server を 2.1.0 にアップグレードして、それが役立つかどうかを確認しましたが、そうではありませんでした。

{
  "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"
  }
}

タイプスクリプトの設定は次のとおりです。

{
  "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"
  ]
}

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
4

2 に答える 2

10

同じエラーが発生しましたが、次の手順で ubuntu で解決できます。

ファイルを編集して/etc/sysctl.conf、次の行を追加します。

fs.inotify.max_user_watches = 524288

ファイルを保存して、次のように入力します。

sudo sysctl -p

そして、もう一度 npm start を実行してみてください。:)

于 2016-02-25T03:46:00.577 に答える