npm - npm 错误!不是尝试为命名空间包创建二进制文件时的子项
问题描述
我有一个包含以下内容的包裹package.json
:
{
"name": "@namespace/package",
"version": "0.0.1",
"bin": {
"@namespace/package": "bin/package",
"package": "bin/package"
},
"publishConfig": {
"access": "public"
},
"scripts": {
"prepublishOnly": "npm run build"
},
"files": [
"lib",
"bin"
],
"main": "lib/index.js",
"license": "MIT",
...
}
我希望我的包作为 cli 工作,所以我在我package.json
的 .
npm ERR! /var/lib/teamcity/BuildAgents/dataui-qyp-02/work/c3e015ff769f8dfa/node_modules/.bin/package is not a child of /var/lib/teamcity/BuildAgents/dataui-qyp-02/work/c3e015ff769f8dfa/node_modules/.bin/@namespace
我在这里做错了什么?
解决方案
显然,如果您仔细阅读npm 文档,它会说 bin 是可执行文件名称到可执行文件路径的映射,因此/
在可执行文件名称中包含 a 可能不是一个好主意,因此解决方法是从以下行中删除package.json
:
"@namespace/package": "bin/package",
推荐阅读
- html - 谷歌搜索控制台中的重定向问题
- flutter - 我可以使用整个小部件/屏幕作为模态底页吗?
- php - PhpStorm 说找不到方法
- android - 在 Google 开发者控制台上发布的错误应用程序是什么?
- amazon-web-services - 对查询使用“限制”是否会消耗 DynamoDB 上的读取容量
- javascript - jQuery 数据表通用 ajax 调用
- r - 在 r 中添加基于相同列和其他两列的计算列
- azure - Microsoft.Owin.Security.OAuth 与 Microsoft.Identity.Web
- node.js - 寻找一种解决方案来运行基于议程的 cron 作业,以便仅在一个 Kubernetes pod 中执行
- tensorflow - 在 Arm MBP 上的 macOS 上安装 Tensorflow