我已经按照描述安装了nodejshere https://www.a2hosting.com/kb/installable-applications/manual-installations/installing-node-js-on-managed-hosting-accounts.
当我自己 ssh 到服务器时,一切正常。但我创建了一个脚本来部署我的应用程序并通过 bitbucket 管道调用它。其他一切都很好(composer install
, php artisan migrate
等),除了npm install
。错误信息是
./deploy:第 26 行:npm:找不到命令
在 bitbucket-pipelines.yml 中,我这样调用我的脚本:
- step:
script:
- ssh user@ip_address ./deploy
当我自己调用脚本时,一切正常。问题仅出在 bitbucket 管道上。我不知道为什么会发生这种情况:(。
Running which composer
透露至少composer
没有从您的命令中获取命令assumed位置,即~/composer
目录。相反,它被发现于/opt/cpanel/composer/bin/composer
.
which npm
返回以下内容:
no npm in (/usr/local/cpanel/3rdparty/lib/path-bin:/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:/opt/bin:/opt/cpanel/composer/bin:/home/handmast/.local/bin:/home/handmast/bin)
现在您可以手动运行命令npm
,你只需要弄清楚从哪里开始的路径npm
正在运行并确保路径是明确地添加到用户的~/.bashrc
文件和事情应该工作正常。您需要这样做,因为根据您的观察,ssh
找不到它。
export PATH=$PATH:/path/to/npm/binary
注意:为了避免任何混淆,请记住,在将路径添加到二进制文件时,您只需将路径添加到所在目录npm
居住。不要添加npm
在最后。例如,以下是不正确 way:
export PATH=$PATH:/home/handmast/bin/npm
正确的做法是这样的:
export PATH=$PATH:/home/handmast/bin
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)