84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
也就是和package.json处于同一级别的目录下。
我想装在某个根目录下,这样就可以在各个项目目录中调用根目录的安装模块来执行任务了,省的每个项目目录去安装。
但是,这个想法,我实践了,证明是不行的。
不知道有没有解决办法?
光阴似箭催人老,日月如移越少年。
在这么做之前你需要知道
grunt-cli
如果你依然想这么做 我能想到的是以下两个方法
1.使用 npm link 全局安装所需模块 在各个项目中使用 npm link 命令创建符号链接 然后和通常的方式是用grunt 但是 这种方式不利于项目迁移 假设你要在另一台机器上开发 正确的方式下 只要npm install 安装所需模块 grunt就能开工 而 npm link 只能自己写脚本
npm link
npm install
grunt
2.使用独立的 gruntfile 或者 grunt task 为每个项目单独写 gruntfile 在 gruntfile的目录中安装 grunt module 通过 grunt --gruntfile <filename> 执行任务 或者 在单个gruntfile里 对不同项目分别写task 通过 grunt <taskname> 执行任务
grunt --gruntfile <filename>
grunt <taskname>
想想都麻烦 你确定要这么搞?
其实最开始grunt就是你说的那样子的
后来人们发现这样不行:不同项目用的grunt api版本不同,grunt又没到stable的阶段无法保证向下兼容,全局装一个grunt结果一团糟,人们根本没法用新的api(因为更多人装的是老版本,不可能一夜之间让所有项目的gruntfile重写)。所以大概是在0.4.0的时候就改为强制每个项目单独装了,实践证明这是个好方法:老项目可以继续用老版本的grunt一直用下去,新项目可以大胆用最新的版本,互相之间不会冲突
嗯,换句话说,“这是feature,不是bug”
用 npm install xxxx -g 就可以安装在全局目录下,这样就不用在每个项目中单独安装,其实还是建议你单独安装,这样版本更好管理,其实你只要本地安装过某个模块,下次在其他项目安装的时候会使用缓存的。
在这么做之前你需要知道
http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/
> 1.项目调用的模块 应当安装在项目目录内
> 2.安装在全局的模块 应当是全局使用的命令行工具 比如
grunt-cli
如果你依然想这么做 我能想到的是以下两个方法
1.使用
npm link
全局安装所需模块 在各个项目中使用
npm link
命令创建符号链接 然后和通常的方式是用grunt但是 这种方式不利于项目迁移
假设你要在另一台机器上开发 正确的方式下 只要
npm install
安装所需模块grunt
就能开工而
npm link
只能自己写脚本2.使用独立的 gruntfile 或者 grunt task
为每个项目单独写 gruntfile 在 gruntfile的目录中安装 grunt module
通过
grunt --gruntfile <filename>
执行任务或者
在单个gruntfile里 对不同项目分别写task
通过
grunt <taskname>
执行任务想想都麻烦 你确定要这么搞?
其实最开始grunt就是你说的那样子的
后来人们发现这样不行:不同项目用的grunt api版本不同,grunt又没到stable的阶段无法保证向下兼容,全局装一个grunt结果一团糟,人们根本没法用新的api(因为更多人装的是老版本,不可能一夜之间让所有项目的gruntfile重写)。所以大概是在0.4.0的时候就改为强制每个项目单独装了,实践证明这是个好方法:老项目可以继续用老版本的grunt一直用下去,新项目可以大胆用最新的版本,互相之间不会冲突
嗯,换句话说,“这是feature,不是bug”
用 npm install xxxx -g 就可以安装在全局目录下,这样就不用在每个项目中单独安装,其实还是建议你单独安装,这样版本更好管理,其实你只要本地安装过某个模块,下次在其他项目安装的时候会使用缓存的。