【问题标题】:Unable to modify and test a forked GitHub library - npm ERR! version not found无法修改和测试分叉的 GitHub 库 - npm ERR!找不到版本
【发布时间】:2015-07-31 07:19:56
【问题描述】:

我是所有 Github 分叉-拉取-请求生命周期的菜鸟。我想做的是派生一个存储库,进行一些更改并在提交拉取请求之前在项目上尝试它们。

我已经分叉了 repo 并对其进行了修改,但我无法对其进行测试。

假设我将 package.json 中的分叉库的版本增加到 1.0.1。然后我执行npm install -g

现在我想在另一个 test-project 中对其进行测试,因此我使用库的新固定版本 (1.0.1) 更新了 package.json devDependencies 信息。

现在我在 test-project 中运行 npm install 但我收到此错误:

npm ERR! version not found: forked-library@1.0.1

我期待由于我在全局安装它,这个项目会从我的本地 npm 缓存中解决它(我可以看到 1.0.1 版本),但它似乎正在 npm 在线存储库中寻找它。

【问题讨论】:

    标签: javascript node.js git github npm


    【解决方案1】:

    虽然 nwinkers 解决方案更方便,但我将其发布为替代方案:

    1. 将您的 forked-library 更改推送到 GitHub。
    2. 在您的 GitHub forked-library 页面的右侧,获取 Download ZIP 按钮指向的 URL,将 archive 替换为 tarball em> 并删除 .zip 扩展名。例如:https://github.com/somebody/forked-library/archive/master.zip => https://github.com/somebody/forked-library/tarball/master
    3. text-projectpackage.json 中更改forked-library 的版本以指向您在步骤2 中获得的修改后的URL:https://github.com/somebody/forked-library/tarball/master

    现在您可以在test-project 中执行npm install 并针对已修补的库工作。

    【讨论】:

      【解决方案2】:

      npm install 命令将始终尝试从 npm 注册表中查找已发布的版本。由于您仍在开发中,它不会在那里找到它。

      要解决这个问题,您可以使用npm link 命令 - 这将设置一个指向您的本地开发版本的符号链接。

      使用方法如下:

      # CD to the forked-library project
      cd ~/forked-library
      
      # Call npm link to create a global link
      npm link
      
      # CD to the test project
      cd ~/test-project
      
      # Call npm link to link the development version to this project
      npm link forked-library
      

      完成此操作后,您应该有一个从 test-project/node_modules 文件夹到本地 forked-library 文件夹的符号链接。

      这将允许您使用开发版本而不发布它。您可以在分叉库中进行更改,它们将立即在您的测试项目中可见。

      这是npm link documentation

      【讨论】:

        猜你喜欢
        • 2015-05-17
        • 2019-01-22
        • 2019-11-21
        • 2016-10-20
        • 2023-02-10
        • 1970-01-01
        • 1970-01-01
        • 2012-09-24
        • 1970-01-01
        相关资源
        最近更新 更多