为什么我们npm install
部分需要npm install base1
和prestart
?
如果npm install
本身从Git中检索base1
,为什么我们需要在npm install base1
中提及prestart
?
对于一个Node.js程序,我看到这里显示的package.json
:
{
"name": "user01",
"version": "1.5.1",
"description": "",
"author": "",
"private": "true",
"main": "app.js",
"scripts": {
"start": "node app.js",
"prestart": "npm install && npm install base1 && npm install base2"
},
"dependencies": {
"ain2": "*",
"body-parser": "^1.15.0",
"express": "^4.13.3",
"uuid": "*",
"request": "^2.69.0",
"traverse": "*",
"base1": "git+ssh://xxxxxxxxxxx/base1.git",
"base2": "git+ssh://xxxxxxxxxx/base2.git"
}
}
答案 0 :(得分:0)
第一次运行是获取包,第二次是基本初始化它们。
npm install
npm install
(在包目录中,没有参数):在本地node_modules文件夹中安装依赖项。
npm install package
npm install <folder>
:安装位于文件系统文件夹中的软件包。
来源:NPMJS
答案 1 :(得分:0)
额外命令可能在npm @ 3或npm @ 2的最新版本中无效,每次都会获取git远程。它们可能是某些previous git issues的变通方法,其中代码不会更新到npm install
上的最新提交(返回v0.12版本)。指定包可能会强制从git中获取最新版本的代码,而在安装包时,普通npm install
将无法执行此操作。
要确认当前发生的情况,请查看git base1
包的不同之处。
rm -rf node_modules/base1
npm install -d
rm -rf node_modules/base1
npm install -d base1
rm -rf node_modules/base1
npm install -d
npm install -d base1
当git中的代码更新后,在调试中运行两个安装而不删除模块
npm install -d
npm install -d base1
如果这是他们的目的,可能不再需要额外的安装。