我有一个下载的模块repo,我想在本地安装它,而不是全局安装在另一个目录?

有什么简单的方法吗?


当前回答

用于安装尚未在npm上安装的本地模块/包,或者你正在开发一个npm包,并希望在发布之前在本地测试它。你可以试试这个

npm i yalc -g

转到模块/包文件夹,然后-

yalc publish

您的软件包已经可以使用了,现在进入您想要安装它的项目-

yalc add <Your package name>

包将安装到您的项目。如果你想移除它-

yalc remove <Your package name>

其他回答

NPM pack + package.json

这对我来说很管用:

步骤1:在模块项目中,执行npm pack:

这将构建一个<package-name>-<version>.tar.gz文件。

步骤2:将文件移动到使用者项目

理想情况下,你可以把所有这些文件放在你的消费者-项目根目录下的tmp文件夹中:

步骤3:在package.json中引用它:

"dependencies": {
  "my-package": "file:/./tmp/my-package-1.3.3.tar.gz"
}

第四步:安装包:

NPM安装或NPM I或纱线

现在,您的包可以在您的消费者项目的node_modules文件夹中使用。

祝你好运…

你只需要给NPM install提供一个<folder>参数,参数应该指向本地文件夹而不是包名:

npm install /path

用于安装尚未在npm上安装的本地模块/包,或者你正在开发一个npm包,并希望在发布之前在本地测试它。你可以试试这个

npm i yalc -g

转到模块/包文件夹,然后-

yalc publish

您的软件包已经可以使用了,现在进入您想要安装它的项目-

yalc add <Your package name>

包将安装到您的项目。如果你想移除它-

yalc remove <Your package name>

缺少主要属性?

正如前面的人回答的那样,npm i——save ../location-of-your-packages-根目录。 . ./location-of-your-packages-根目录,但是它必须有两个东西才能工作。

包中。Json指向的目录 包中的主要属性。Json必须设置和工作i.g.。"main": "src/index.js",如果../location-of-your-packages-根目录是../location-of- packages-根目录/src/index.js

由于由同一个人提问和回答,我将添加一个npm链接作为替代。

从文档:

这对于安装您自己的东西非常方便,这样您就可以使用它并迭代地测试它,而不必不断地重新构建。

cd ~/projects/node-bloggy  # go into the dir of your main project
npm link ../node-redis     # link the dir of your dependency

[编辑]从NPM 2.0开始,你可以在package.json中声明本地依赖项

"dependencies": {
    "bar": "file:../foo/bar"
  }