我有一个下载的模块repo,我想在本地安装它,而不是全局安装在另一个目录?
有什么简单的方法吗?
我有一个下载的模块repo,我想在本地安装它,而不是全局安装在另一个目录?
有什么简单的方法吗?
当前回答
对于npm的最新版本(我在macOS Big Sur下使用8.1.3),命令序列甚至更容易…
cd /path-where-your-local-project-is/
npm init
这将要求您提供一些与项目相关的数据,并正确初始化您的项目。json文件。
一旦完成,你可以安装额外的模块:
cd /path-where-your-local-project-is/
npm install --save-dev some-npm-module .
这就是你所需要的!
注意:我相信如果你在项目目录中,后面的点是不必要的,但我也认为添加它没有坏处:-)
(我想知道为什么官方文件仍然没有解释这一点…)
其他回答
来自npm-link文档:
在本地模块目录下:
$ cd ./package-dir
$ npm link
在项目的目录下使用模块:
$ cd ./project-dir
$ npm link package-name
或者一次性使用相对路径:
$ cd ./project-dir
$ npm link ../package-dir
这相当于在上面使用两个命令。
由于由同一个人提问和回答,我将添加一个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"
}
我遇到了不同的解决方案,而不是上面安装自定义构建包ckedor5。
所以我上传包到应用程序根目录,比:
npm add file:./ckeditor5
在我的包裹里。Json包被列为一个文件:
"ckeditor5-custom-build": "file:ckeditor5",
我认为这个答案可能与如何添加本地包的主题相关。
用于安装尚未在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