我怎样才能用纱线执行垃圾箱?
How can I execute a bin with yarn?
我有以下 package.json,我想 运行 容器“构建”和“运行”:
{
"name": "simple-site",
"version": "0.0.5",
"license": "MIT",
"bin": {
"build": "./bin/build.js",
"dev": "./bin/dev.js"
}
}
我试过:
yarn run build
然后我得到
error Command "build" not found.
我也试过:
yarn build
但同样的事情发生了:
error Command "build" not found.
这可能不是 运行 垃圾箱的正确方法。但话又说回来,用纱线 运行 bins 的正确方法是什么?
你的包没有安装。
当 Yarn(和 NPM)安装您的包时,它会在 node_modules/.bin/
下添加命令,例如node_modules/.bin/build
。 运行 yarn build
会(如果在当前包中没有找到匹配的脚本)在这个 .bin
中寻找 build
,然后向上遍历文件系统,寻找对于其他node_modules/.bin/build
。
如果您的构建脚本只是 运行 在开发特定包时,请将其添加为脚本(参见示例 here)。它或多或少看起来像这样:
{
"name": "simple-site",
"version": "0.0.5",
"license": "MIT",
"scripts": {
"build": "node ./bin/build.js",
"dev": "node ./bin/dev.js"
}
}
不需要添加相对路径:
{
"name": "simple-site",
"version": "0.0.5",
"license": "MIT",
"scripts": {
"build": "build.js",
"dev": "dev.js"
}
}
hashbang 注释指定要用于执行脚本的特定 JavaScript 解释器的路径。
例如./node_modules/.bin中的helloWorld.js:
#!/usr/bin/env node
console.log("Hello world");
我有以下 package.json,我想 运行 容器“构建”和“运行”:
{
"name": "simple-site",
"version": "0.0.5",
"license": "MIT",
"bin": {
"build": "./bin/build.js",
"dev": "./bin/dev.js"
}
}
我试过:
yarn run build
然后我得到
error Command "build" not found.
我也试过:
yarn build
但同样的事情发生了:
error Command "build" not found.
这可能不是 运行 垃圾箱的正确方法。但话又说回来,用纱线 运行 bins 的正确方法是什么?
你的包没有安装。
当 Yarn(和 NPM)安装您的包时,它会在 node_modules/.bin/
下添加命令,例如node_modules/.bin/build
。 运行 yarn build
会(如果在当前包中没有找到匹配的脚本)在这个 .bin
中寻找 build
,然后向上遍历文件系统,寻找对于其他node_modules/.bin/build
。
如果您的构建脚本只是 运行 在开发特定包时,请将其添加为脚本(参见示例 here)。它或多或少看起来像这样:
{
"name": "simple-site",
"version": "0.0.5",
"license": "MIT",
"scripts": {
"build": "node ./bin/build.js",
"dev": "node ./bin/dev.js"
}
}
不需要添加相对路径:
{
"name": "simple-site",
"version": "0.0.5",
"license": "MIT",
"scripts": {
"build": "build.js",
"dev": "dev.js"
}
}
hashbang 注释指定要用于执行脚本的特定 JavaScript 解释器的路径。
例如./node_modules/.bin中的helloWorld.js:
#!/usr/bin/env node
console.log("Hello world");