最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

NPM基础知识与nave和Node.js

运维笔记admin13浏览0评论

NPM基础知识与nave和Node.js

NPM基础知识与nave和Node.js

我最近安装了node.js,并被告知express是用于路由和设置Web应用程序开发的方法。

我安装了最新版本的节点,显然与最新的快递不兼容。

我查了一下,找到了nave ...就像RVM一样,nave允许你切换节点的版本。所以我跑了nave.sh install 0.4.11...那个成功地工作了,我能跑了。

npm install express -g

我想,应该全球安装快递。所以我跑:

express testapp

这创造了

create : testapp
create : testapp/package.json
create : testapp/app.js
create : testapp/public/stylesheets
create : testapp/public/stylesheets/style.css
create : testapp/public/images
create : testapp/public/javascripts
create : testapp/views
create : testapp/views/layout.jade
create : testapp/views/index.jade

然后我

cd testapp/
node app.js

我明白了

错误:找不到模块'express'

这是通常的行为吗?

由于express在packages.json中,如果我运行npm install -d,它将在我的应用程序中创建一个node_modules目录,而不仅仅是我的节点路径中的node_modules的符号链接。

回答如下:

总之,是的,这是通常的行为。

当您使用带有-g选项的NPM安装软件包时,它会全局安装它,这样可以在您的路径上放置可执行文件(例如您使用的快速脚本)

但是,它不会将这些包放在节点可以找到它们的任何位置。

要安装它以便节点可以找到包,您也必须这样做

cd "your express app"
npm install express

它安装在本地(到应用程序目录的根目录中的node_modules文件夹)。

这主要是为了避免任何依赖性冲突,虽然看起来很愚蠢,但实际上它确实非常有用。

如果您有一些真正的理由想要使用全局安装(例如,您有许多应用程序要确保始终共享相同的版本),则可以使用npm link命令。

有关NPM和全球与本地的良好纲要,请参阅this博客文章。

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论