linux下安装nodejs出现 npm-cli.js: No such file or director 的真正解决方案

2,506 阅读2分钟

今天在centos下安装nodejs 官网下载安装包 解压 扔到远程机器上 添加环境变量 执行

>node -v
v10.14.2

正常

执行

>npm -v
*******/npm: line 1: ../lib/node_modules/npm/bin/npm-cli.js: No such file or directory

报错了 看一眼,没这个文件? 去对应目录看一下,有这个文件啊 那就是路径的问题 去bin下面看一下npm文件 里面怎么是相对路径呢,改成绝对路径 再执行

>npm -v
Usage: npm <command>

where <command> is one of:
    access, adduser, audit, bin, bugs, c, cache, ci, cit,
    completion, config, create, ddp, dedupe, deprecate,
    dist-tag, docs, doctor, edit, explore, get, help,
    help-search, hook, i, init, install, install-test, it, link,
    list, ln, login, logout, ls, outdated, owner, pack, ping,
    prefix, profile, prune, publish, rb, rebuild, repo, restart,
    root, run, run-script, s, se, search, set, shrinkwrap, star,
    stars, start, stop, t, team, test, token, tst, un,
    uninstall, unpublish, unstar, up, update, v, version, view,
    whoami

npm <command> -h  quick help on <command>
npm -l            display full usage info
npm help <term>   search for help on <term>
npm help npm      involved overview

Specify configs in the ini-formatted file:
    /root/.npmrc
or on the command line via: npm <command> --key value
Config info can be viewed via: npm help config

npm@6.4.1 /app/nodejs/lib/node_modules/npm

怎么不出版本号 再换其他命令试试

npm install
npm version

怎么全都是返回上面这个东西

网上搜搜,有些解决方案,让执行个脚本什么的 我觉得不应该啊,nodejs发展这么久了,怎么可能连linux的安装都还是半成品呢,这问题一定是存在在我身上

再转回从头捋

看回下载的node安装包,发现问题了

用软件把安装包打开 bin目录下npm和npx两个文件都是0字节 但是我上传上去的却是38字节

这原来是windows和linux两个文件系统不一样导致的 这两个文件是两个linux的软连接 windows中并没有和linux软连接一样的东西 因此解压的时候将这两个文件变成了内部包含链接地址的文本

../lib/node_modules/npm/bin/npm-cli.js

用这个再去执行的时候自然就遇到了相对路径的问题

真正的解决方法就是去linux下面解压

tar -xJvf node-v10.16.3-linux-x64.tar.xz

搞定环境变量

>node -v
v10.14.2
>npm -v
6.4.1

大功告成

欢迎关注公众号,共同交流,共同进步

欢迎关注公众号,共同交流,共同进步