【问题标题】:How can I commit changes that I've made in node_modules back to git?如何将我在 node_modules 中所做的更改提交回 git?
【发布时间】:2015-07-30 20:14:44
【问题描述】:

有时为您的模块维护一个节点包的分支更容易,我希望能够编辑我通过npm install githubaccount/myrepo.git 安装的node_modues 中的模块。

目前我对文件所做的任何更改都必须复制回存储库。这很乏味。

如何在 npm 中编辑模块并让 Git 跟踪它们?

Python 的 pip 有一个选项,您可以在其中定义一个“egg”,它将 repo 的克隆符号链接到 site_packages 文件夹。我知道这是一个不同的系统,但我发现它在过去非常有用。

【问题讨论】:

  • 克隆您的分叉存储库,将其与您的项目分开编辑。将其推回 git。然后在您使用分叉存储库的项目中运行 npm install
  • 我已经这样做了……

标签: node.js git npm


【解决方案1】:

您可以使用npm link 命令来执行此操作。这是如何使用它。假设您的 npm 模块位于 ~/npm-module,而您使用 npm 模块的项目位于 ~/my-project

cd ~

# First clone the npm module
git clone https://..../npm-module.git

# Go into the module's directory:
cd npm-module

# Link the module
npm link

# CD into the project using the npm module
cd ../my-project

# Link the module
npm link npm-module

第一次调用npm link 将在 npm 的缓存目录中创建一个链接,指向你本地的 npm 模块克隆。第二次调用会将其链接到正在使用该模块的项目(链接到 node_modules 文件夹)。

如果您查看项目的node_modules 文件夹,您会发现它现在包含指向npm-module 源的符号链接。您在该文件夹中所做的任何更改也将在克隆项目中。您可以在那里提交更改并将它们推送回您的遥控器。

这与您使用 Python 的 egg 功能所做的类似。

这是npm link documentation

【讨论】:

  • 非常感谢,我无法理解 npm 链接的实际作用,它缓存模块的事实填补了难题的缺失部分。
猜你喜欢
  • 2020-01-09
  • 2016-09-29
  • 2021-11-13
  • 2016-03-07
  • 1970-01-01
  • 1970-01-01
  • 2015-02-19
  • 2012-10-13
  • 2014-08-17
相关资源
最近更新 更多