如何安装本地NPM模块及其对项目的依赖?

时间:2017-08-17 20:12:06

标签: npm dependencies npm-install eslint

我正在开展可共享的eslint配置,以传播自动化和内部最佳做法。所以我添加了一些eslint插件和工具作为依赖项。

上下文

的Env

$ node --version; 
v8.2.1

$ npm --version
5.3.0

本地包

为此,我使用以下npm创建了一个本地eslint-config-company项目,package.json说:

{
  "name": "eslint-config-company",
  "version": "0.0.1",
  "main": "index.js",
  "dependencies": {
    "eslint": "4.x.x",
    "eslint-plugin-ember-suave": "1.x.x",
    "eslint-plugin-prettier": "2.x.x",
    "prettier": "1.x.x"
  },
  "files": [
    "index.js"
  ],
  "keywords": [
    "eslint",
    "eslintconfig"
  ],
  "repository": "company/eslint-config-company",
  "private": true
}

和文件:

index.js  package.json  README.md  yarn.lock

安装

然后,我将我的eslint-config-company包安装到另一个项目中进行测试:

npm install --save-dev --verbose ../eslint-config-company

node_modules/目录中,我将eslint-config-company/作为符号链接:

$ ls node_modules/eslint-config-company -lah
lrwxrwxrwx 1 me me 29 Aug 17 22:02 node_modules/eslint-config-company -> ../../eslint-config-company/

但没有prettiereslint-plugin-prettier

的痕迹
$ ls node_modules/{prettier,eslint-plugin-prettier}
ls: cannot access 'node_modules/prettier': No such file or directory
ls: cannot access 'node_modules/eslint-plugin-prettier': No such file or directory

N.B。:eslinteslint-plugin-ember-suave已经存在该项目的依赖关系。

问题

  • 假设我的软件包dependencies将安装在npm install上,我错了吗?
  • 如何修复我的软件包才能安装它们?

相关: issue on npm/npm

2 个答案:

答案 0 :(得分:0)

eslint-config-company的依赖关系保存在该模块的node_modules文件夹中-因此它将能够通过符号链接找到所需的代码(假设npm install已在eslint-config-company模块文件夹中运行)。

打包后-还包含node_module文件夹,因此它也可以转换为交付时间。

答案 1 :(得分:-1)

创建项目的全局模块 eslint-config-company (在此模块文件夹中):

npm link

并将全局安装目标链接到另一个项目whit:

npm link eslint-config-company

来源:https://docs.npmjs.com/cli/link