【问题标题】:How do I prevent "npm install" or "npm remove" from deleting my personal package?如何防止“npm install”或“npm remove”删除我的个人包?
【发布时间】:2019-05-09 18:14:36
【问题描述】:

我想为我的一个库创建一个 node_modules/my-package/... 环境。

我的package.jsonconsidered valid。我有一个名字和一个版本以及其他一些字段:

(this is node-modules/my-paclage/package.json)
{
    "name": "my-package",
    "version": "1.0.0",
    ...
}

然后我想将它添加到 package-lock.json 文件中,以便 npm 知道它。如果你不这样做,npm install ...npm uninstall ... 实际上会删除我在node-modules/... 下创建的my-package 文件夹。

所以我决定在我的package-lock.json 中添加信息,只是我无法让它工作。我添加的只是这样的版本:

(this is package-lock.json)
...
"dependencies": {
    ...
    "my-package": {
        "version": "1.0.0"
    }
    ...
}
....

同样,语法本身是正确的。但是,通过该条目,当我尝试执行 npm install ...npm uninstall ... 时,它会告诉我:

找不到错误 404:krypton-search@1.0.0

我做错了什么?

【问题讨论】:

  • 你是否将包信息添加到 package-lock.json 中?
  • 这就是我在"dependencies": { ... "my-package": { "version": "1.0.0" } ... } 中展示的内容。我更新了我的问题,以更好地显示其中的内容。
  • 为什么你不能创建一个新的包并以通常的方式安装它?您可以从 github 安装它,而无需发布到 npm。
  • @alexmac 这是一个私人包,所以不能在那些网站上。

标签: node.js npm package.json package-lock.json


【解决方案1】:

NPM 管理node_modules/ 下的所有内容。您不想在那里手动添加任何内容。

NPM 还管理package-lock.json。它不是供您修改的。

要安装你的包,my-package,你想使用npm install。它会将你的包复制或符号链接到node_modules/,并将安装的版本写到package-lock.json

如果你的包是本地的并且没有发布到 NPM,你可以使用npm install /path-to-mypackage。另见:https://stackoverflow.com/a/8089029/362536

【讨论】:

  • 好的!优秀!这就像一个魅力。这只是不言自明。
  • @AlexisWilke 另外,如果您有一个私有的 Git 存储库(不一定是 GitHub),您也可以将其添加为依赖项。 stackoverflow.com/a/28729646/362536 如果托管在 SSH 上,则使用 git+ssh://,或者只是本地 Git 存储库的路径。
猜你喜欢
  • 2018-12-29
  • 2018-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-23
  • 1970-01-01
相关资源
最近更新 更多