npm 是如何将脚本移动到 bin 的?
What does npm do to move a script to the bin?
如题。我想让我的代码只能由 git 下载,我想知道如何在不使用 npm 的情况下将脚本移动到 bin。有没有某种方法可以做到这一点而不必键入整个文件路径和 ./
? (Ex: $ ./do/this/really/long/script.sh
。)我也希望能够以特定名称将脚本移动到 bin 中。有没有办法做到这一点?类似于 npm 的 JSON bin?
{
"bin": {
"blah": "/do/this/really/long/script.sh"
},
}
我相信您知道 github 和 npm 是完全不同的东西...对,很好。因此,如果用户不必通过手动过程,就无法做您想做的事。只要您在自述文件中明确说明这一点(连同 copy/paste 命令),大多数用户就不会在意。
在幕后,npm 只是在创造 symlinks 东西。我不知道 npm 正在做什么,但你可以做很多事情来实现类似的目标:
Note: You can instruct users on how to do each of these manually, or you can write a copy/paste command to do it... but you have to figure that part out yourself.
为您的脚本创建一个 alias。
创建指向脚本的符号链接。
更新 $PATH
变量以包含脚本的路径。 bash 控制台的路径可以相对于 cwd
。因此,如果用户当前 bash 进入 C:/foo/bar
,而您的 $PATH
配置为 ./bin
,那么您的 OS 将在 C:/foo/bar
中查找脚本=15=].
如题。我想让我的代码只能由 git 下载,我想知道如何在不使用 npm 的情况下将脚本移动到 bin。有没有某种方法可以做到这一点而不必键入整个文件路径和 ./
? (Ex: $ ./do/this/really/long/script.sh
。)我也希望能够以特定名称将脚本移动到 bin 中。有没有办法做到这一点?类似于 npm 的 JSON bin?
{
"bin": {
"blah": "/do/this/really/long/script.sh"
},
}
我相信您知道 github 和 npm 是完全不同的东西...对,很好。因此,如果用户不必通过手动过程,就无法做您想做的事。只要您在自述文件中明确说明这一点(连同 copy/paste 命令),大多数用户就不会在意。
在幕后,npm 只是在创造 symlinks 东西。我不知道 npm 正在做什么,但你可以做很多事情来实现类似的目标:
Note: You can instruct users on how to do each of these manually, or you can write a copy/paste command to do it... but you have to figure that part out yourself.
为您的脚本创建一个 alias。
创建指向脚本的符号链接。
更新
$PATH
变量以包含脚本的路径。 bash 控制台的路径可以相对于cwd
。因此,如果用户当前 bash 进入C:/foo/bar
,而您的$PATH
配置为./bin
,那么您的 OS 将在C:/foo/bar
中查找脚本=15=].