gem: 找不到命令
gem: command not found
我有 bash 个文件,它构建 gem 个文件并启动我的程序:
cd /src/stackify-api
rm *.gem
gem build stackify.gemspec
gem install stackify-0.1.0.gem
cd /src/stackify-classificator
rm *.gem
gem build stackify-classificator.gemspec
gem install stackify-classificator-0.1.1.gem
cd /src/bin
ruby console-task.rb
我在docker容器中使用它。如果我以交互方式启动容器并手动 运行 这个 bash 文件,它工作正常:
~ » docker run -it -v /mnt/lacie/online/btsync/development:/src stack_rvm /bin/bash
root@898cec6a7d85:/# /src/build.sh
...
Successfully built RubyGem
Name: stackify
Version: 0.1.0
File: stackify-0.1.0.gem
但是当我尝试像这样在 docker 中启动此脚本时,我收到错误消息:
~ » docker run -it -v /mnt/lacie/online/btsync/development:/src stack_rvm /bin/bash /src/build.sh
/src/build.sh: line 5: gem: command not found
为什么以及如何解决?
我找到了答案 - 使用 -c -l
:
~ » docker run -it -v /mnt/lacie/online/btsync/development:/src stack_rvm /bin/bash -c -l /src/build.sh
对我来说,是 C:\Ruby24-x64\bin 在 Ruby 安装期间被添加到 Path 用户变量而不是 Path 系统变量。将 C:\Ruby24-x64\bin 添加到 Path 系统变量后,一切正常。
我有 bash 个文件,它构建 gem 个文件并启动我的程序:
cd /src/stackify-api
rm *.gem
gem build stackify.gemspec
gem install stackify-0.1.0.gem
cd /src/stackify-classificator
rm *.gem
gem build stackify-classificator.gemspec
gem install stackify-classificator-0.1.1.gem
cd /src/bin
ruby console-task.rb
我在docker容器中使用它。如果我以交互方式启动容器并手动 运行 这个 bash 文件,它工作正常:
~ » docker run -it -v /mnt/lacie/online/btsync/development:/src stack_rvm /bin/bash
root@898cec6a7d85:/# /src/build.sh
...
Successfully built RubyGem
Name: stackify
Version: 0.1.0
File: stackify-0.1.0.gem
但是当我尝试像这样在 docker 中启动此脚本时,我收到错误消息:
~ » docker run -it -v /mnt/lacie/online/btsync/development:/src stack_rvm /bin/bash /src/build.sh
/src/build.sh: line 5: gem: command not found
为什么以及如何解决?
我找到了答案 - 使用 -c -l
:
~ » docker run -it -v /mnt/lacie/online/btsync/development:/src stack_rvm /bin/bash -c -l /src/build.sh
对我来说,是 C:\Ruby24-x64\bin 在 Ruby 安装期间被添加到 Path 用户变量而不是 Path 系统变量。将 C:\Ruby24-x64\bin 添加到 Path 系统变量后,一切正常。