You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chef运行converge报cookbook未定义`nssm`方法错误如何解决?

错误根因
  • Chef抛出undefined method 'nssm'错误的核心原因是:你通过Chocolatey安装的只是nssm软件本身,但Chef核心资源库没有内置nssm配置资源。你代码中调用的nssm自定义资源来自社区维护的nssm专用Cookbook,你没有在自己的Cookbook依赖中引入该Cookbook,导致Chef无法识别该资源方法。
解决方案

方案1:引入nssm Cookbook(推荐)

  1. 在你的Cookbook根目录下的metadata.rb文件中添加依赖声明:
depends 'nssm', '~> 6.0'
  1. 如果你使用Berkshelf管理Cookbook依赖,在Berksfile中添加对应拉取规则,确保依赖的nssm Cookbook能被正常拉取。
  2. 如果使用Chef Server,将nssm Cookbook和你自己的业务Cookbook一同上传到Server;如果使用chef-solo/chef-apply,确保nssm Cookbook存放在本地Cookbook加载路径中。
  3. 重新执行chef converge即可,你现有的nssm资源块写法符合要求,无需修改。

方案2:直接调用nssm命令行(无需引入第三方Cookbook)

如果你不想额外引入第三方Cookbook,可以直接用execute资源调用本地已安装的nssm命令完成服务配置,示例代码如下:

# 安装JMeter服务
execute 'install jmeter service' do
  command 'nssm install jmeter_service "C:\ProgramData\chocolatey\lib\jmeter\tools\apache-jmeter-5.2.1\bin\jmeter-server.bat"'
  not_if 'nssm status jmeter_service', returns: [0, 3]
end

# 配置服务工作目录
execute 'set jmeter service AppDirectory' do
  command 'nssm set jmeter_service AppDirectory "C:\ProgramData\chocolatey\lib\jmeter\tools\apache-jmeter-5.2.1\bin"'
  not_if 'nssm get jmeter_service AppDirectory | findstr "C:\\ProgramData\\chocolatey\\lib\\jmeter\\tools\\apache-jmeter-5.2.1\\bin"'
end

# 配置标准输出日志路径
execute 'set jmeter service AppStdout' do
  command 'nssm set jmeter_service AppStdout "C:\ProgramData\chocolatey\lib\jmeter\tools\apache-jmeter-5.2.1\bin\output.log"'
  not_if 'nssm get jmeter_service AppStdout | findstr "C:\\ProgramData\\chocolatey\\lib\\jmeter\\tools\\apache-jmeter-5.2.1\\bin\\output.log"'
end

# 配置标准错误日志路径
execute 'set jmeter service AppStderr' do
  command 'nssm set jmeter_service AppStderr "C:\ProgramData\chocolatey\lib\jmeter\tools\apache-jmeter-5.2.1\bin\error.log"'
  not_if 'nssm get jmeter_service AppStderr | findstr "C:\\ProgramData\\chocolatey\\lib\\jmeter\\tools\\apache-jmeter-5.2.1\\bin\\error.log"'
end

# 启动并设置服务开机自启
service 'jmeter_service' do
  action [:enable, :start]
end

内容的提问来源于stack exchange,提问作者Roshani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 20:54:00