是否可以选择安装无依赖项的npm软件包?


20

我打算修改具有多个依赖项的npm包。因此npm install -g .,执行需要很长时间。除了从packages.json中删除依赖项之外,我还有其他选择吗?

Answers:




7

如果您node_module自己进行开发,请不要在npm installs 上浪费时间,而应使用npm link

简而言之,您可以在npm拥有的全局文件夹上创建指向模块文件夹的符号链接,然后在应用程序文件夹中要求npm使用该符号链接文件夹。

这会使您在模块文件夹中所做的更改立即反映在您的应用程序中。

这是主要步骤(从下面的链接复制的教程中,请务必阅读该教程以了解重要的陷阱):

  1. 光盘到 src/my_module
  2. 运行“ npm link”。这将创建从全局文件夹到该src/my_module文件夹的符号链接。
  3. 光盘到 src/my_app
  4. 运行npm link my_module。这会将node_modules/my_module特定项目链接到全局文件夹,以便require调用查找my_module从开发文件夹中加载它 src/my_module

参见本教程:http : //justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears 和官方文档npm linkhttps : //docs.npmjs.com/cli/link


不更改我接受的答案,而是投票,因为这对于我的特定情况很有用。
贾斯汀·迪林

4

早在2010年就要求使用此功能,但不幸的是它被忽略并关闭:https : //github.com/npm/npm/issues/340

我尝试了很多选择,最后找到了一个非常简单的解决方案-在doint npm安装之前将package.json重命名为其他名称,然后在安装完成后将其还原为:

mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json

2
哇,那真的还是唯一的方法吗?太荒谬了,应该有一个标志--ignore-package或其他东西。
JacobTheDev

2
这个解决方案很好,到目前为止,它可能是我的问题的最佳解决方案:stackoverflow.com/questions/53532845/…–
aGuegu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.