为什么写在脚本里的 npm 命令会找不到呢?

2016-12-12 09:59:49 +08:00
 dlyt
我觉的应该是 npm 配置的问题,但没有找到解决办法。。。
3597 次点击
所在节点    Node.js
12 条回复
okletswin
2016-12-12 10:37:18 +08:00
在 npm 执行前 echo $PATH 看看
smallpath
2016-12-12 10:46:11 +08:00
可能是你用了 npm XXX 而不是 npm run XXX
icris
2016-12-12 10:50:18 +08:00
which npm, 然后脚本写完整路径试试
q397064399
2016-12-12 10:51:09 +08:00
#path 的问题, 最好是针对全局的 /etc/profile 来一次 export,

要么就恶心一点 写绝对路径,我一般都是这么干的,
因为 linux 系统 bash 环境 太恶心了,经常会出现 not found xxx 之类的
dlyt
2016-12-12 11:03:08 +08:00
@icris /root/.nvm/v6.2.0/bin/npm 我想运行 npm install 完整路径怎么写?
wujunze
2016-12-12 11:06:09 +08:00
脚本里面用绝对路径试试
afpro
2016-12-12 11:11:17 +08:00
@q397064399 哪里恶心了 把用户的 PATH 和系统的 PATH 隔离是一个很正确的做法呀 我猜他的脚本是用 crontab 之类的执行的 那个地方不是用户的环境 PATH 肯定是不对的
dlyt
2016-12-12 11:17:55 +08:00
我想试试 shipit-deploy 实现自动化的服务器部署, https://cnodejs.org/topic/584545bd4c17b38d354363af
绝对路径怎么写呢?
xxxyyy
2016-12-12 11:19:44 +08:00
@dlyt 那你自己在脚本里写死 `/root/.nvm/v6.2.0/bin/npm install` 就行了
dlyt
2016-12-12 11:20:36 +08:00
@smallpath 不是 就是简单的 npm install
dlyt
2016-12-12 11:22:53 +08:00
Error: Command failed: ssh -i /Users/123/.ssh/id_rsa root@123123.com "cd /tmp/deploy_to/current; /root/.nvm/v6.2.0/bin/npm install"
/usr/bin/env: node: No such file or directory
qq258076067
2018-03-23 16:22:09 +08:00
@xxxyyy 你好,能请教你一个问题吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/326953

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX