簡體   English   中英

NPM Pack:重命名包目錄

[英]NPM Pack: Rename package directory

我有一個小腳本,使用npm pack打包某些nodejs模塊。 當我解壓縮npm pack命令創建的.tgz ,其中的目錄名為package 我的問題是,是否有辦法將此包重命名為項目的正式名稱?

的package.json

{
   "name": "package_name",
   "version": "0.0.3",
   "description": "A description",
   "main": "server.js",
   "scripts": {
      "test": "echo \"Error: no test specified\" && exit 1"
   },
   "author": "",
   "license": "ISC",
   "dependencies": {
      "request": "2.55.0"
   },
   "devDependencies": {
      "grunt": "0.4.5",
      "grunt-contrib-concat": "0.5.1"
   }
}

這是我正在使用的代碼,可能會有所幫助。

npm.load('./some/path', function (er) {
    if (er) {
       res.send("er");
    }
    npm.commands.pack(['./another/path'], function (er, data) {
    if (er) {
       res.send("error");
    }

    var fileName = __dirname+"/projectName-0.0.3.tgz";
    res.sendFile(fileName, {
         headers: {
             "Content-Type": "application/x-tar"
         }
    });
});

@Kirill Slatin是正確的。 npm pack格式僅供內部使用,因此npm不能提供將名稱從package更改為其他名稱的權利。

但是,如果您的tar支持-s開關,則可以在提取時更改名稱。 在OSX上,您可以執行以下操作:

tar -xvz -s/package/foo/ -f foo-1.0.0.tgz

(已編輯,感謝David G指出錯誤。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM