无法修改和测试分叉的GitHub库 - NPM ERR! 版本未找到(Unable to mo

2019-10-24 09:27发布

我与这一切Github上分岔 - 拉请求生命周期一个noobie。 我想要做的就是fork一个仓库,做一些修改,并提交pull请求之前尝试的一个项目。

我已经分叉的回购和修改,但我不能对它进行测试。

让我们假设我的package.json增加分叉库的版本为1.0。 1。 然后我执行npm install -g

现在,我想在另一个测试test-project ,所以我更新与库(1.0.1)的新的固定版本的package.json devDependencies信息。

现在,我跑npm installtest-project ,但我得到这个错误:

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

我期待,因为我在全球安装了它,这个项目会从我的本地缓存NPM解决它(我在哪里可以看到1.0.1版本),但似乎在NPM在线存储库中寻找它。

Answer 1:

npm install命令将总是试图找到从故宫注册表中的一个版本。 既然你仍然在发展,它不会在那里找到它。

要解决这个问题,你可以使用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

这样做之后,你应该有一个符号链接到本地forked-library从文件夹中test-project/node_modules文件夹中。

这将允许您使用开发版本,而将其释放。 您可以在分叉库变化,他们将在您的测试项目将立即可见。

这里的故宫链接文档 。



Answer 2:

虽然nwinkers解决方案更方便我张贴这个作为一种替代方案:

  1. 把你的forked-library更改GitHub上。
  2. 在您的GitHub的forked-library页面,在右侧,得到URL在由下载ZIP按钮指出,更换存档 tar文件并删除.zip扩展。 例如: https://github.com/somebody/forked-library/archive/master.zip => https://github.com/somebody/forked-library/tarball/master
  3. 更改版本forked-library在你的text-projectpackage.json来点你在步骤2中得到了修改后的URL: https://github.com/somebody/forked-library/tarball/master

现在你可以做npm installtest-project ,反对修补LIB工作。



文章来源: Unable to modify and test a forked GitHub library - npm ERR! version not found