如何在 Ubuntu 上使用 Node 运行 Angular 2 应用程序?

如何在 Ubuntu 上使用 Node 运行 Angular 2 应用程序?

我正在尝试通过以下方式在 Ubnutu 17.04 上安装 Angular CLI

sudo npm install -g @angular/cli

但是它会生成以下警告:

    npm WARN gentlyRm not removing /usr/local/bin/ng as it wasn't installed by /usr/local/lib/node_modules/@angular/cli
/usr/local/bin/ng -> /usr/local/lib/node_modules/@angular/cli/bin/ng
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/@angular/cli/node_modules/fsevents):
    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

一旦完成,尽管ng可执行文件在我的路径中,但如果我尝试运行任何命令(例如npm serve),我会得到以下结果:

    /usr/local/lib/node_modules/@angular/cli/models/config/config.js:17
    constructor(_configPath, schema, configJson, fallbacks = []) {
                                                           ^
SyntaxError: Unexpected token =
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/@angular/cli/models/config.js:3:18)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)

似乎已经(尝试?)安装 Angular CLI 1.3.2,但命令ng --version甚至没有运行。(产生上述错误)。因此,我无法为正在构建的 Angular 2 应用程序运行 npm start。

我的 npm 版本是 5.3.0,nodejs 版本是 v4.7.2。我尝试了很多次让它工作,我开始认为 npm 或 angular CLI 中可能存在错误,因为我已经成功在命令行上在 Mac、Windows 和 ArchLinux 上安装了 Angular CLI。如何让 npm 在 Ubuntu 上运行 angular 应用程序?

答案1

尝试使用

sudo su

node检查版本npm

通过在终端/控制台窗口中运行node -v和来验证您至少运行的是 node 6.9.x 和 npm 3.xx。旧版本会产生错误,但新版本则没问题。npm -v

然后使用

npm install -g @angular/cli

创建新文件夹

ng new my-dream-app

将当前目录更改为新创建的文件夹

cd my-dream-app

使用以下命令启动角度服务器

ng serve

我建议你使用 16.04 lts ubuntu 版本

答案2

Angular CLI 的版本 (1.3.x) 需要 Node 6.9 或更高版本(从 npm 页面的 @angular/cli 读取)这里

我建议你安装节点版本管理器(NVM)以便管理不同的节点版本,文档这里

安装正确的节点版本后,再次尝试安装 angular cli,它应该可以正常工作。

相关内容