npm 5安装文件夹而不使用符号链接

时间:2017-06-19 07:31:43

标签: npm

在发布我的节点库之前,我可以使用advice the npm documentation wrote about

  

要测试本地安装,请进入其他文件夹,然后执行以下操作:

     

cd ../ some-other-folder

     

npm install ../ my-package

在npm第5版之前,我没有遇到任何问题,因为它产生了我的预期,即一个包含我将要发布的输出的文件夹。

但是,使用npm 5,它现在会创建一个符号链接到我的本地项目,如npm文档中所述:

  

npm install:

     

在目录中将包作为符号链接安装在目录中   项目。它的依赖项将在链接之前安装。如果    位于项目的根目录中,其依赖性可能是   提升到toplevel node_modules,就像其他类型的一样   的依赖关系。

如何使用“旧”方式安装本地项目?或者是否有新的方法来检查我的库是否正确?

谢谢。

2 个答案:

答案 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与本地软件包不兼容的软件包依赖项。