我是所有这个Github forking-pull-request生命周期的noobie。我想做的是在提交拉取请求之前分叉存储库,进行一些更改并在项目上尝试它们。
我已经分配了回购并修改了它但我无法测试它。
假设我将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在线存储库中寻找它。 / p>
答案 0 :(得分:1)
虽然nwinkers解决方案更方便,但我将其作为替代方案发布:
forked-library
更改推送到GitHub。forked-library
页面的右侧,获取下载ZIP 按钮指向的网址,将存档替换为 tarball 并删除.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中获得的修改后的网址:https://github.com/somebody/forked-library/tarball/master
现在,您可以在npm install
中执行test-project
并对抗已修补的lib。
答案 1 :(得分:0)
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
执行此操作后,您应该从forked-library
文件夹中获得指向本地test-project/node_modules
文件夹的符号链接。
这将允许您使用开发版本而不释放它。您可以在分叉库中进行更改,它们将立即显示在您的测试项目中。