全局安装package.json依赖项

时间:2015-05-13 08:13:28

标签: json node.js npm gulp

以下'package.json'文件包含依赖项:

{
  "name": "xxx_web_app",
  "version": "1.0.0",
  "description": "",
  "main": "gulpfile.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "some.git"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bower": "^1.4.1",
    "connect-history-api-fallback": "^1.1.0",
    "gulp": "^3.8.11",
    "gulp-clean": "^0.3.1",
    "gulp-coffee": "^2.3.1",
    "gulp-connect": "^2.2.0",
    "gulp-jshint": "^1.10.0",
    "gulp-minify-css": "^1.1.1",
    "gulp-sass": "^1.3.3",
    "gulp-slim": "^0.1.0",
    "gulp-uglify": "^1.2.0",
    "gulp-util": "^3.0.4",
    "gulp-webserver": "^0.9.0"
  }
}

当我运行“npm install -g”时,我在控制台中看到将安装所有依赖项。但是当我尝试执行时,例如,gulp('gulp -v')我得到了:

"zsh: command not found: gulp"

但如果我执行'npm install -g gulp',这件事情就会好起来的。那么,如何在全局范围内安装所有依赖项,而无需一个接一个地安装?提前致谢!

我的系统是OS X Yosemite。

2 个答案:

答案 0 :(得分:2)

npm install -gnpm install --global在包含package.json文件的目录中执行时,会将所有软件包安装为全局软件包。

使用npm ls -g检查这些软件包的确切安装位置。添加上述命令为适当的shell提供的路径。看起来你正在使用zsh。

这些步骤应该有效:

进入您的主目录并找到此文件.zshrc并查找

export PATH=

并将其修改为:

export PATH="path_to_global_packages:$PATH"

在终端上打开一个新标签页,以使更改生效并尝试运行gulp -v

注意:最佳做法是在本地为每个项目安装软件包,而不是全局为计算机上的所有项目安装软件包。

答案 1 :(得分:0)

您应该在软件包代码中添加一些内容,我不记得要添加什么,但是您可以搜索它(如何将npm上传到工件,也许在那里您会找到想要的东西。