在发布我的节点库之前,我可以使用advice the npm documentation wrote about:
要测试本地安装,请进入其他文件夹,然后执行以下操作:
cd ../ some-other-folder
npm install ../ my-package
在npm第5版之前,我没有遇到任何问题,因为它产生了我的预期,即一个包含我将要发布的输出的文件夹。
但是,使用npm 5,它现在会创建一个符号链接到我的本地项目,如npm文档中所述:
npm install:
在目录中将包作为符号链接安装在目录中 项目。它的依赖项将在链接之前安装。如果 位于项目的根目录中,其依赖性可能是 提升到toplevel node_modules,就像其他类型的一样 的依赖关系。
如何使用“旧”方式安装本地项目?或者是否有新的方法来检查我的库是否正确?
谢谢。
答案 0 :(得分:22)
使用npm pack
+ npm install
(按照 install-local 包的建议)
npm pack <path-to-local-package>
npm install <package-version.tgz>
这将有效地将您的本地包复制到node_modules。 请注意,这将仅打包生产相关文件(package.json的files部分中列出的文件)。因此,您可以将其安装在包自己的目录下的测试应用程序中。像这样:
my-package
package.json
test
test-app
package.json
node_modules
my-package
假设my-package / package.json中的test
中未包含files
dir。
这与npm 5及更早版本的工作原理相同。
答案 1 :(得分:0)
我写了npm-install-offline,它允许您从本地存储库或文件夹安装npm软件包。默认情况下,它会在安装时复制该文件夹,但您也可以选择符号链接。 https://www.npmjs.com/package/npm-install-offline
npx npm-install-offline ../some-package
或
npx npm-install-offline my-npm-package --repo ./my-offline-npm
它还将安装npm与本地软件包不兼容的软件包依赖项。