美文网首页
bash: /usr/bin/npm: No such file

bash: /usr/bin/npm: No such file

作者: 朝畫夕拾 | 来源:发表于2019-07-11 14:49 被阅读0次

    官网居然只提供这种方法,结果发现在其github主页上提供的方法是:curl -L https://npmjs.com/install.sh | sh成功.

    仍然不能用:

    npm -v

    bash: /usr/bin/npm: No such file or directory

    一通乱搜, 对着各种解决方法乱试, 也没真正解决,那只有自己思考一下了:

    npm既然装上了,那么装到哪去了(找到了)

    直接到安装目录执行(成功了)

    那么就软链一下试试(成功了)

    sudo find / -name "npm-cli.js"

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

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

        2.1.17

    sudo ln -s /usr/lib/node_modules/npm/bin/npm-cli.js  /usr/bin/npm

    npm -v

        2.1.17

    p.s. 虽然npm正常工作了,最后发现npm install一个包都下不下来, 执行了一句npm cache clean,貌似就OK了。



    node升级后,项目中的node-sass报错的问题

    之前可能因为电脑不知道哪抽风了,在npm build的时候进入就卡在入口的地方,启动express的时候也会,所以就重装了一下node

    重装node

    其实也不是重装,就是使用 where node 查看node的安装目录,然后下载新版本的node,覆盖安装就是了

    原本node v8.x 更新后 node v10.x,但是express启动还是卡主了,不懂什么原因,但是悲剧的是,原来的vue详情启动的时候就报错了。。。

    ···

    Module build failed: Error: Missing binding G:\myCode\YB\clientapps\AccountV4\node_modules_node-sass@4.9.0@node-sass\vendor\win32-x64-64\binding.node

    Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 10.x

    Found bindings for the following environments:

    Windows 64-bit with Node.js 8.x

    ···

    报错大概就这段比较看得出问题。。。

    解决办法

    网上找了一下,需要重装node-sass包

    所以呢

    npm rebuild node-sass

    安装完重新启动就ok了, 所以没事还是别更新node,最好保持团队的环境一致~



    centos上运行的nodejs 出现No space left on device错误

    运行django出现错误信息:

    [2016-02-16 14:33:24,476 pyinotify ERROR] add_watch: cannot watch /usr/local/lib/python2.7/dist-packages/django/contrib/sessions/backends/cache.py WD=-1, Errno=No space left on device (ENOSPC) ERROR:pyinotify:add_watch: cannot watch /usr/local/lib/python2.7/dist-packages/django/contrib/sessions/backends/cache.py WD=-1, Errno=No space left on device (ENOSPC)

    查询网络第一判断是缺少Inode节点: linux中创建一个文件不仅仅需要存储空间,也需要Inode节点。Inode节点在磁盘建立的时候就分配好最大的个数(每2K空间分配一个节点),一般情况下这个数目是够用的,但是如果磁盘拥有大量小文件(小于2k),就能将Inode节点用完。

    查看存储空间

    $ df -h          查看有剩余空间

    查看i节点

    $df -i            查看inode也有剩余空间

    看是那种情况,不幸的是我哪种都不是,后来在stackflow找到了答案。

    问题原因:   You may have reached your quota of watches.

    1. 解决办法:  查看目前的最大值   To find your current limit, type this in your terminal:

    $cat /proc/sys/fs/inotify/max_user_watches

    增加最大值:  Which is typically 8192 by default.   To increase your limit, type this:

    $sudo sysctl fs.inotify.max_user_watches=16384

    永久设置最大值      Then restart django.    To permanently set this limit, type this:

    $echo 16384 | sudo tee -a /proc/sys/fs/inotify/max_user_watches

    2. 解决办法:

    # vim  /etc/sysctl.conf

    添加以下:

    fs .inotify.max_user_watches = 32768

    生效:

    # sysctl  -p  /etc/sysctl.conf

    再次测试:

    # cd  ../frontend

    # setsid npm run serve

    正常输出,成功。

    相关文章

      网友评论

          本文标题:bash: /usr/bin/npm: No such file

          本文链接:https://www.haomeiwen.com/subject/qfcdkctx.html