当前位置: 代码迷 >> JavaScript >> 无法修改和测试分叉的GitHub库-npm ERR! 找不到版本
  详细解决方案

无法修改和测试分叉的GitHub库-npm ERR! 找不到版本

热度:98   发布时间:2023-06-05 11:54:08.0

我对所有这个Github分叉请求请求生命周期都非常满意。 我想要做的是派生一个存储库,进行一些更改,然后在提交请求之前对项目进行尝试。

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

假设我将package.json中的派生库的版本提高到1.0。 1 然后我执行npm install -g

现在,我想在另一个test-project对其进行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在线存储库中寻找它。

尽管nwinkers解决方案更方便,但我还是将其发布为替代方案:

  1. 将您的forked-library更改推送到GitHub。
  2. 在右侧的GitHub forked-library页面中,获取“ 下载ZIP”按钮所指向的URL,将压缩文件替换为tarball并删除.zip扩展名。 例如: https://github.com/somebody/forked-library/archive/master.zip => https://github.com/somebody/forked-library/tarball/master : 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 : https://github.com/somebody/forked-library/tarball/master

现在,您可以在test-project进行npm install并针对修补的lib进行工作。

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文件夹。

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

这是 。

  相关解决方案