Nodejs express安装成功,但是不能正常使用。

Nodejs express安装成功,但是不能正常使用。

rt,我是ubuntu13.04.

用 sudo npm install -gd express 安装时没提示错误,说npm info ok。但是之后输入express没反映,也没有报命令找不到,但是在 /usr/lib/node_modules 里面确实也有express,请问是怎么回事?

4 回复

Nodejs express安装成功,但是不能正常使用

问题描述

我在Ubuntu 13.04上使用 sudo npm install -g express 命令安装了Express,安装过程中没有出现任何错误,并且显示 npm info ok。然而,在安装完成后,我尝试运行 express 命令时没有任何反应。虽然在 /usr/lib/node_modules 目录下可以看到 express 文件夹,但命令无法正常执行。

可能的原因及解决方法

1. 全局模块的路径问题

默认情况下,全局模块会被安装到 /usr/lib/node_modules 下。但是,由于权限问题或者环境变量配置不正确,可能会导致命令无法找到对应的可执行文件。

解决方案: 检查你的环境变量是否包含了全局模块的路径。可以在 .bashrc 或者 .profile 文件中添加以下内容:

export PATH=$PATH:/usr/lib/node_modules

然后运行 source ~/.bashrcsource ~/.profile 使更改生效。

2. 检查全局模块的安装路径

确保全局模块确实被安装到了预期的位置。可以通过以下命令查看全局模块的安装路径:

npm root -g

如果路径不对,可以重新设置全局模块的安装路径:

npm config set prefix /usr/local

然后重新安装Express:

sudo npm uninstall -g express
sudo npm install -g express
3. 使用 npx 临时运行Express

如果你只是想临时使用Express,可以使用 npx 来运行它:

npx express-generator myapp
cd myapp
npm install
npm start

示例代码

假设你已经解决了路径问题并重新安装了Express,你可以使用以下命令生成一个新的Express应用:

express myapp
cd myapp
npm install
npm start

这将创建一个名为 myapp 的目录,并在其中生成一个基本的Express应用结构。然后安装依赖项并启动服务器。

总结

通过检查环境变量、全局模块的安装路径以及使用 npx 临时运行Express,你应该能够解决这个问题。如果仍然有问题,请检查是否有其他环境配置或依赖项冲突。


参考这篇文章,对照操作是不是正确的 http://blog.fens.me/nodejs-enviroment/

感谢你的回答,这篇文章我之前看过,可没解决问题。刚刚自己倒腾了一会,发现/usr/lib下面的express里面用的env是node而不是nodejs,改了之后就好了。可能是我装node的时候,先apt-get install node 再apt-get install nodejs导致的。分享一下脑残经验,希望以后别有人再这样了/ = =

根据你的描述,你已经全局安装了 express,但在命令行中输入 express 时没有反应。这可能是由于环境变量配置不正确导致的。以下是可能的解决方案:

解决方案

  1. 检查全局安装路径: 首先确认 express 是否真的被安装到了全局路径 /usr/lib/node_modules 中。

    ls /usr/lib/node_modules/
    

    如果 express 确实在该目录下,那么说明安装是成功的。

  2. 检查环境变量: 确认你的环境变量是否包含 Node.js 的全局安装路径。你可以通过查看 PATH 变量来确认:

    echo $PATH
    

    如果路径中没有包含 /usr/lib/node_modules/.bin,你需要将它添加到你的 PATH 变量中。

  3. 设置环境变量: 编辑你的 .bashrc.bash_profile 文件,添加以下内容:

    export PATH=$PATH:/usr/lib/node_modules/.bin
    

    然后使更改生效:

    source ~/.bashrc
    
  4. 验证安装: 重新打开一个终端窗口,并尝试再次运行 express 命令,看是否可以正常工作。

示例代码

如果你仍然遇到问题,可以尝试使用 npx 来运行 express 命令,这样就无需关心全局安装路径:

npx express-generator <appname>

这将直接从 npm 包中调用 express 而不需要全局安装。

希望这些步骤能解决你的问题!

回到顶部