如何防止“npm install”或“npm remove”删除我的个人包?
Posted
技术标签:
【中文标题】如何防止“npm install”或“npm remove”删除我的个人包?【英文标题】:How do I prevent "npm install" or "npm remove" from deleting my personal package? 【发布时间】:2019-05-09 18:14:36 【问题描述】:我想为我的一个库创建一个 node_modules/my-package/...
环境。
我的package.json
是considered 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 这是一个私人包,所以不能在那些网站上。
【参考方案1】:
NPM 管理node_modules/
下的所有内容。您不想在那里手动添加任何内容。
NPM 还管理package-lock.json
。它不是供您修改的。
要安装你的包,my-package
,你想使用npm install
。它会将你的包复制或符号链接到node_modules/
,并将安装的版本写到package-lock.json
。
如果你的包是本地的并且没有发布到 NPM,你可以使用npm install /path-to-mypackage
。另见:https://***.com/a/8089029/362536
【讨论】:
好的!优秀!这就像一个魅力。这只是不言自明。 @AlexisWilke 另外,如果您有一个私有的 Git 存储库(不一定是 GitHub),您也可以将其添加为依赖项。 ***.com/a/28729646/362536 如果托管在 SSH 上,则使用git+ssh://
,或者只是本地 Git 存储库的路径。以上是关于如何防止“npm install”或“npm remove”删除我的个人包?的主要内容,如果未能解决你的问题,请参考以下文章
在 Jenkins 中:如何运行 NPM install 、 npm run 和 Npm run 代理
npm install --save 和 npm install -d的区别
编剧错误:未下载 Firefox 修订版。运行“npm install”或“yarn install”
`npm install` 在 node-gyp 重建时失败,并带有`gyp:未检测到 Xcode 或 CLT 版本!`