【问题标题】:Why does “npm install <package_name> —save or yarn add <pakage_name> “ rewrite node-modules files?为什么“npm install <package_name> —save or yarn add <pakage_name>”会重写node-modules文件?
【发布时间】:2018-07-20 03:56:30
【问题描述】:

在我的项目中,我更改了 nodemodule 文件夹中的一些文件。但是在我安装了新包之后,我之前的更改被删除了。所有模块都被覆盖

【问题讨论】:

    标签: react-native npm nodes npm-install yarnpkg


    【解决方案1】:

    欢迎来到 Stack Overflow。如果要对 npm 包进行更改,则需要将其克隆到其他位置。但首先你可能想在 github 上克隆 repo。

    假设你已经有一个 github 帐户,并且已经登录。如果你选择一个 repo,比如https://github.com/lever/planer,你会在右上角看到一个 fork 按钮。单击此按钮,它将在您的帐户下分叉回购。然后转到您的 repo 副本,然后单击 clone or download 按钮。将 repo 名称复制到剪贴板。

    在你的命令行中,cd 到一个合适的位置,比如 ~/projects 并输入这个

    git clone https://github.com/<yourname>/planer
    cd planer
    sudo npm link
    npm install
    

    这会将 repo 复制到您的本地环境,npm link 命令告诉 npm 这个 repo 是用于 planer 的 repo。另一个步骤是 cd 到您正在使用 planer 的项目,然后输入以下命令:

    npm link planer

    此时它已链接到您的项目中,您可以根据需要修改代码(在~/projects/planer 中)并测试您的应用程序。您可能需要每次都构建包,以便您的更改通过。

    【讨论】:

    • 谢谢 Mikkel,但是为什么在 npm install pacakgename --save 之后重写所有的节点模块呢?我只需要安装特定的包。但是它安装了我已经安装的所有节点模块
    • 基本上 node_modules 是构建系统的一部分,归 npm 所有,所以你不应该修改其中的任何内容。具体如何工作取决于 npm。
    • Mikkel 让我们认为我们必须在 xcode 代码内部进行更改。喜欢这个链接问题。 github.com/shoutem/ui/issues/134我可以用fork吗?
    • shoutem/ui 是一个与其他任何模块一样的 npm 模块,但我认为您所指的 xcode 在其他地方
    • 谢谢。我会尝试让你知道我的项目大型应用程序。现在我必须手动使用 fork 更改很多代码。
    猜你喜欢
    • 2017-03-01
    • 2017-12-14
    • 2019-12-24
    • 2020-10-22
    • 2018-12-30
    • 2020-07-16
    • 2016-12-08
    • 1970-01-01
    • 2013-11-03
    相关资源
    最近更新 更多