使用pkg

时间:2018-04-12 10:46:59

标签: node.js express express-generator

我使用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"
  }

请告诉我是否应该在问题中添加更多内容

1 个答案:

答案 0 :(得分:2)

我无法重新创建您的方案。我的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 是在我项目的根目录下创建的。