【问题标题】:Running npm install on Ubuntu with Octopus Deploy使用 Octopus Deploy 在 Ubuntu 上运行 npm install
【发布时间】:2018-06-12 07:29:57
【问题描述】:

我们正在使用 Octopus deploy 来部署一个 angularjs 应用程序。我正在运行一个部署后脚本 (bash),并在其中尝试执行 npm install。这不起作用,我得到一个错误

npm: command not found

但是,如果我以 Octopus 用户身份登录 linux 框,转到 Octopus Deploy 尝试运行脚本的目录,我可以运行 npm install 而不会出错。

我已经确认它是正确的用户(在部署后脚本中在 npm install 之前运行 whoami)。

我尝试将 npm 可执行文件添加到我的 PATH 变量中,但没有成功。我还在我的脚本中放入了 npm 的完整路径,这给了我一个新错误

/usr/bin/env: ‘node’: No such file or directory

【问题讨论】:

    标签: node.js ubuntu npm octopus-deploy


    【解决方案1】:

    请以 octopus 用户身份运行以下命令,以便其他用户访问 npm。

    n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local
    

    或者使用nvm安装node

    wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
    
    source ~/.bashrc
    
    source ~/.profile
    
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  
    
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  
    
    
    nvm ls-remote
    
    nvm install 8.10.0 
    
    node --version
    
    npm --version
    
    which node
    
    n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local
    

    https://github.com/creationix/nvm

    如果您正在安装新的节点版本,请执行以下步骤。

    nvm list 将显示所有已安装的节点版本

    nvm use v8.10.0

    nvm alias default v8.10.0为当前用户设置默认节点版本

    【讨论】:

    • 太棒了!谢谢!每次安装新模块或更新节点时是否需要运行复制命令?
    猜你喜欢
    • 1970-01-01
    • 2022-07-22
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 2022-11-11
    • 2020-02-17
    相关资源
    最近更新 更多