2

我已经创建了一个使用express-generator这样的快速应用程序:express work-callendar。我没有更改任何内容。现在我想使用 pkg 命令打包它,所以我在我的package.json

 "package":"pkg .-t latest-linux-x64 -o ./app ./app.js"

但是,当我运行该脚本时,出现以下错误

预计不超过一个入口文件/目录

有什么想法可以解决吗?

这是我的 package.json:

{
  "name": "work-calendar",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www",
    "package":"pkg .-t latest-linux-x64 -o ./app ./app.js"
  },
  "dependencies": {
    "body-parser": "~1.18.2",
    "cookie-parser": "~1.4.3",
    "debug": "~2.6.9",
    "express": "~4.15.5",
    "morgan": "~1.9.0",
    "pug": "2.0.0-beta11",
    "serve-favicon": "~2.4.5"
  },
  "devDependencies": {
    "pkg": "^4.3.1"
  }

让我知道我是否应该在问题中添加更多内容

4

1 回答 1

4

我无法重新创建您的场景。我的package.json样子是这样的。

Node.js 版本

  • 8.10

包文件

{
    "name": "pkg-test",
    "version": "0.0.0",
    "private": true,
    "scripts": {
        "start": "node ./bin/www",
        "pkg": "pkg --target=latest-linux-x64 -o app.out app.js"
    },
    "dependencies": {
        "cookie-parser": "~1.4.3",
        "debug": "~2.6.9",
        "express": "~4.16.0",
        "http-errors": "~1.6.2",
        "jade": "~1.11.0",
        "morgan": "~1.9.0"
    },
    "devDependencies": {
        "pkg": "^4.3.1"
    }
}

最好将所有依赖项包含在package.json. 虽然我已经在全球范围内安装了它。

命令

> npm i --save-dev pkg
> npm run pkg

成功

app.out是在我的项目的根目录下创建的。

于 2018-04-12T12:29:37.520 回答