我与这一切Github上分岔 - 拉请求生命周期一个noobie。 我想要做的就是fork一个仓库,做一些修改,并提交pull请求之前尝试的一个项目。
我已经分叉的回购和修改,但我不能对它进行测试。
让我们假设我的package.json增加分叉库的版本为1.0。 1。 然后我执行npm install -g
。
现在,我想在另一个测试test-project
,所以我更新与库(1.0.1)的新的固定版本的package.json devDependencies信息。
现在,我跑npm install
在test-project
,但我得到这个错误:
npm ERR! version not found: forked-library@1.0.1
我期待,因为我在全球安装了它,这个项目会从我的本地缓存NPM解决它(我在哪里可以看到1.0.1版本),但似乎在NPM在线存储库中寻找它。
在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
文件夹中。
这将允许您使用开发版本,而将其释放。 您可以在分叉库变化,他们将在您的测试项目将立即可见。
这里的故宫链接文档 。
虽然nwinkers解决方案更方便我张贴这个作为一种替代方案:
- 把你的
forked-library
更改GitHub上。 - 在您的GitHub的
forked-library
页面,在右侧,得到URL在由下载ZIP按钮指出,更换存档 tar文件并删除.zip扩展。 例如: https://github.com/somebody/forked-library/archive/master.zip => https://github.com/somebody/forked-library/tarball/master
。 - 更改版本
forked-library
在你的text-project
的package.json
来点你在步骤2中得到了修改后的URL: https://github.com/somebody/forked-library/tarball/master
现在你可以做npm install
在test-project
,反对修补LIB工作。
文章来源: Unable to modify and test a forked GitHub library - npm ERR! version not found