[英]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.