对于 Github forking-pull-request 生命周期,我是个菜鸟。我想做的是 fork 一个存储库,进行一些更改并在提交 pull 请求之前在项目上尝试它们。
我已经 fork 了该存储库并对其进行了修改,但我无法对其进行测试。
假设我将 package.json 中 fork 库的版本增加到 1.0.1。然后我执行npm install -g
。
现在我想在另一个 test-project
中测试它,因此我使用新的固定版本的库 (1.0.1) 更新了 package.json devDependencies 信息。
现在我在 test-project
中运行 npm install
但出现此错误:
npm ERR! version not found: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="13757c617876773e7f7a716172616a53223d233d22" rel="noreferrer noopener nofollow">[email protected]</a>
我期望自从我全局安装它以来,这个项目会从我的本地 npm 缓存(我可以在其中看到 1.0.1 版本)解析它,但它似乎正在 npm 在线存储库中寻找它。
最佳答案
npm install
命令将始终尝试从 npm 注册表中查找已发布的版本。由于您仍处于开发阶段,因此它不会在那里找到它。
要解决此问题,您可以使用 npm link
命令 - 该命令将设置指向本地开发版本的符号链接(symbolic 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
文件夹的符号链接(symbolic link)。
这将允许您使用开发版本而无需发布它。您可以在 fork 库中进行更改,它们将立即在您的测试项目中可见。
关于javascript - 无法修改和测试 fork 的 GitHub 库 - npm 错误!找不到版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31740315/