Answers:
--no-optional选项现在根据此文档https://docs.npmjs.com/cli/install实现:
The --no-optional argument will prevent optional dependencies from being installed.
查看文档,似乎没有其他选择--no-optional
。
这样的SO Q&A标题为:npm install
通过网络安装我的项目的所有依赖项,即使它们已经安装或从缓存中可用也似乎意味着存在--skip-installed
切换。但是文档没有对此开关进行任何引用。
如果您node_module
自己进行开发,请不要在npm install
s 上浪费时间,而应使用npm link
。
简而言之,您可以在npm拥有的全局文件夹上创建指向模块文件夹的符号链接,然后在应用程序文件夹中要求npm使用该符号链接文件夹。
这会使您在模块文件夹中所做的更改立即反映在您的应用程序中。
这是主要步骤(从下面的链接复制的教程中,请务必阅读该教程以了解重要的陷阱):
src/my_module
npm link
”。这将创建从全局文件夹到该src/my_module
文件夹的符号链接。src/my_app
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 link
:https : //docs.npmjs.com/cli/link
早在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
--ignore-package
或其他东西。