快递的path

为什么表示命令没有find。 这是快递的path。

/usr/lib/node_modules/express 

当我安装快递时,terminal显示path。 我用了

 npm install -g express-generator npm install -g express 

但是,当我运行快递,这是行不通的。 在这个目录中,express是全球性的吗? 但为什么不能find。 我不明白这个逻辑。

您需要在本地安装快件,而不是全局安装。

http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation

一般来说,经验法则是:

  1. 如果您正在安装您要在程序中使用的东西,请使用require('whatever'),然后将其安装到您的项目的根目录。
  2. 如果你正在安装你想在你的shell中使用的东西,在命令行或者其他地方安装,那么它的二进制文件就会在你的PATH环境variables中。

基于这个,你希望使用-g标志来安装express-generator ,因为你将它用作命令行工具,但是你想在没有这个标志的情况下安装express ,因为它是你想要的模块应用。


看看安装指南:

http://expressjs.com/starter/generator.html

它说,将express-generator模块安装为全局模块,因为您将其用作命令行实用程序来支持您的新应用程序。

一旦你使用express myapp命令./node_modules了一个应用程序,你只需要在myapp目录下运行npm install ,将其余的依赖项下载到你的项目的本地./node_modules目录中。 它通过读取生成的package.json文件的内容来完成。


取消课程:除非模块说明指南明确说明,否则不要使用-g标志进行安装。