是否可以选择安装没有依赖项的 npm 包?

是否可以选择安装没有依赖项的 npm 包?

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

答案1

--无可选现在根据此文档实施选项https://docs.npmjs.com/cli/install:

The --no-optional argument will prevent optional dependencies from being installed.

答案2

如果您自己开发node_module,请不要在 s 上浪费时间npm install,而应使用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

答案3

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

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

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

答案4

翻翻文档除了开关之外似乎没有其他选择--no-optional

未经测试/未经确认

此问答题为:npm install通过网络安装我的项目的所有依赖项,即使它们已安装或可从缓存中获取似乎暗示有一个--skip-installed开关。但文档没有提及此开关。

相关内容